daily pastebin goal
86%
SHARE
TWEET

Untitled

a guest Dec 7th, 2017 59 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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()
RAW Paste Data
Top