[2021 Spring] CS61A lost01:Control and Environments
阿新 • • 發佈:2021-06-16
地址:https://inst.eecs.berkeley.edu/~cs61a/sp21/lost/lost01.pdf
lost是對課程內容的補充練習,重在練習。
def is_prime(n): """ >>> is_prime(10) False >>> is_prime(7) True """ for i in range(2, n): if n % i == 0: return False return True def is_prime2(n): return n > 1 and smallest_factor(n) == n def smallest_factor(n): k = 2 while k <= n: if n % k == 0: return k k += 1 def ordered_digits(x): ''' >>> ordered_digits(5) True >>> ordered_digits(11) True >>> ordered_digits(127) True >>> ordered_digits(1357) True >>> ordered_digits(21) False >>> result = ordered_digits(1375) # Return, don't print >>> result False ''' xl = list(str(x)) return xl == sorted(xl) def rect(area, perimeter): """Return the longest side of a rectangle with area and perimeter that has integer sides. >>> rect(10, 14) # A 2 x 5 rectangle 5 >>> rect(5, 12) # A 1 x 5 rectangle 5 >>> rect(25, 20) # A 5 x 5 rectangle 5 >>> rect(25, 25) # A 2.5 x 10 rectangle doesn't count because sides are not integers False >>> rect(25, 29) # A 2 x 12.5 rectangle doesn't count because sides are not integers False >>> rect(100, 50) # A 5 x 20 rectangle 20 """ side = 1 while side * side <= area: other = round(perimeter / 2 - side) if other == area / side: return other side = side + 1 return False