SHARE
TWEET

Code Wars - Common Denominators

duquesne9 Oct 19th, 2019 (edited) 92 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ##5 Kyu - Common Denominators
  2.  
  3. def is_common(arr, test_den):
  4.     for j in range(len(arr)):
  5.         if test_den % arr[j][1] != 0:   ##Check all denominators are factors of test
  6.             return False
  7.     return True
  8.    
  9. def convertFracts(lst):
  10.     max_d = 0                           ##Variable to hold largest existing denominator
  11.     for i in range(len(lst)):           ##Find the largest denominator in lst
  12.         if lst[i][1] > max_d:
  13.             max_d = lst[i][1]
  14.     play = True
  15.     counter = 2
  16.     test = 0                             ##Just to keep test in the right scope for for loop below
  17.     while play == True:
  18.         test = max_d * counter           ##Creates test lowest common denominator
  19.         if not is_common(lst, test):     ##Test not valid for all denominators    
  20.             counter += 1
  21.         else:                            ##Test is valid, break out of loop
  22.             play = False
  23.     for k in lst:                      
  24.         factor = test//k[1]              ##how to get to lowest common denominator
  25.         for m in range(len(k)):          ##raises all values to match lowest common denominator
  26.             k[m] = k[m] * factor
  27.     return lst
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top