CMU Coding Bootcamp

feat: add sep30 additional assignments

thecoded.prof 5ab238ed fb1ddfa4

verified
Changed files
+71
python
+17
python/assignments/sep30/dotsOverlap.py
··· 1 + from math import sqrt 2 + def distance(a, b): 3 + return sqrt((b[0]-a[0])**2 + (b[1]-a[1])**2) 4 + 5 + def dotsOverlap(x1, y1, r1, x2, y2, r2): 6 + d = distance((x1, y1), (x2, y2)) 7 + return d <= (r1+r2) 8 + 9 + print('Testing dotsOverlap()...') 10 + assert(dotsOverlap(0, 0, 2, 3, 0, 2) == True) 11 + assert(dotsOverlap(0, 0, 2, 5, 0, 2) == False) 12 + assert(dotsOverlap(0, 0, 2, 4, 0, 2) == True) 13 + assert(dotsOverlap(-4, 5, 2, -3, 5, 5) == True) 14 + assert(dotsOverlap(3, 3, 3, 3, -3, 2.99) == False) 15 + assert(dotsOverlap(3, 3, 3, 3, -3, 3) == True) 16 + assert(dotsOverlap(5, 3, 0, 5, 3, 0) == True) 17 + print('Passed!')
+17
python/assignments/sep30/getGreen.py
··· 1 + def fullRGB(rgb): 2 + rgb = str(rgb) 3 + while len(rgb) < 9: 4 + rgb = '0' + rgb 5 + return rgb 6 + 7 + def getGreen(rgb): 8 + return int(fullRGB(rgb[3:6])) 9 + 10 + print('Testing getGreen()...', end='') 11 + assert(getGreen(218112214) == 112) 12 + assert(getGreen(134134134) == 134) 13 + assert(getGreen(111019213) == 19) 14 + assert(getGreen(221000000) == 0) 15 + assert(getGreen(32175) == 32) 16 + assert(getGreen(0) == 0) 17 + print('Passed!')
+19
python/assignments/sep30/isGray.py
··· 1 + def fullRGB(rgb): 2 + rgb = str(rgb) 3 + while len(rgb) < 9: 4 + rgb = '0' + rgb 5 + return rgb 6 + 7 + def isGray(rgb): 8 + rgb = fullRGB(rgb) 9 + return (rgb[0:3] == rgb[3:6]) and (rgb[3:6] == rgb[6:9]) 10 + 11 + print('Testing isGray()...', end='') 12 + assert(isGray(112112112) == True) 13 + assert(isGray(112112113) == False) 14 + assert(isGray(123195060) == False) 15 + assert(isGray(255255255) == True) 16 + assert(isGray(0) == True) 17 + assert(isGray(19019019) == True) 18 + assert(isGray(175112) == False) 19 + print('Passed!')
+18
python/assignments/sep30/nthFibonacciNumber.py
··· 1 + from math import sqrt 2 + 3 + def almostEqual(x, y): 4 + return (abs(x - y) < 10**-9) 5 + 6 + def nthFibonacciNumber(n): 7 + n += 1 8 + return ((1+sqrt(5))**n - (1-sqrt(5))**n)/(sqrt(5)*2**n) 9 + 10 + print('Testing nthFibonacciNumber()...', end='') 11 + assert(almostEqual(nthFibonacciNumber(0), 1)) 12 + assert(almostEqual(nthFibonacciNumber(1), 1)) 13 + assert(almostEqual(nthFibonacciNumber(2), 2)) 14 + assert(almostEqual(nthFibonacciNumber(3), 3)) 15 + assert(almostEqual(nthFibonacciNumber(4), 5)) 16 + assert(almostEqual(nthFibonacciNumber(5), 8)) 17 + 18 + print('Passed!')