Advertisement
Guest User

Untitled

a guest
Dec 7th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. # -*- coding: cp1252 -*-
  2. from __future__ import division
  3.  
  4. def randomArray(size):
  5. lst = []
  6. for x in range(0, size):
  7. lst.append(random.randint(0,10))
  8. return lst
  9.  
  10. def find_kvot(lst):
  11.  
  12. if len(lst) == 2 :
  13. talg = lst[1]
  14. namn = lst[0]
  15. kvot = talg / namn
  16. return [kvot, namn, talg]
  17.  
  18. if len(lst) == 1:
  19. return [-1, lst[0], lst[0]]
  20.  
  21. mid = len(lst)//2
  22.  
  23.  
  24. lefthalf = lst[:mid]
  25. righthalf = lst[mid:]
  26.  
  27. kvotleft = find_kvot(lefthalf)
  28. kvotright = find_kvot(righthalf)
  29.  
  30. minmax = 0
  31. counter = 0
  32.  
  33.  
  34. if kvotleft[0] >= kvotright[0]: #Jämför kvoterna
  35. merge = list(kvotleft)
  36. #counter1
  37.  
  38. if kvotright[1] > kvotright[2]: #minmax = max i kvotright
  39. minmax = kvotright[1]
  40. #counter +=1
  41. else:
  42. minmax = kvotright[2]
  43.  
  44. if kvotleft[2] < minmax: #Om tälgaren i kvotleft är mindre än minmax
  45. merge[2] = minmax
  46. #counter +=1
  47.  
  48. if kvotleft[2] < kvotleft[1]: #Om tälgaren i kvotleft är mindre nämnaren
  49. merge[1] = kvotleft[2]
  50. #counter +=1
  51.  
  52. elif kvotright[0] > kvotleft[0]: #Jämför kvoterna
  53. merge = list(kvotright)
  54. #counter +=1
  55.  
  56. if kvotleft[1] > kvotleft[2]: #minmax = min i kvotleft
  57. minmax = kvotleft[2]
  58. #counter +=1
  59. else:
  60. minmax = kvotleft[1]
  61.  
  62. if kvotright[1] > minmax: #Om nämnaren i kvotright är större än minmax
  63. merge[1] = minmax
  64. #counter +=1
  65.  
  66. if kvotright[1] > kvotright[2]:
  67. merge[2] = kvotright[1]
  68. #counter +=1
  69.  
  70.  
  71. merge[0] = merge[2] / merge[1] #Skapar nya kvoten
  72. print counter
  73. return merge
  74.  
  75.  
  76.  
  77. def main():
  78. li = [10, 2, 12, 4, 43, 55, 57, 13]
  79. lst1 = [10,1,100,2]
  80. lst2 = [1, 4, 6, 2, 4, 1, 10, 3]
  81. print find_kvot(lst1)
  82.  
  83.  
  84. if __name__ == "__main__":
  85. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement