Q4: Falling Factorial
def falling(n, k):
"""Compute the falling factorial of n to depth k.
>>> falling(6, 3) # 6 * 5 * 4
120
>>> falling(4, 3) # 4 * 3 * 2
24
>>> falling(4, 1) # 4
4
>>> falling(4, 0)
1
"""
"*** YOUR CODE HERE ***"
if k == 0:
print("1")
else:
prod = 1
while k > 0:
prod *= n
n -= 1
k -= 1
print(prod)
def sum_digits(y):
"""Sum all the digits of y.
>>> sum_digits(10) # 1 + 0 = 1
1
>>> sum_digits(4224) # 4 + 2 + 2 + 4 = 12
12
>>> sum_digits(1234567890)
45
>>> a = sum_digits(123) # make sure that you are using return rather than print
>>> a
6
"""
"*** YOUR CODE HERE ***"
ans = 0
while y > 0:
ans +=(y % 10)
y -=y % 10
y //= 10
pass
Q5: Sum Digits
def double_eights(n):
“““Return true if n has two eights in a row.
>>> double_eights(8)
False
>>> double_eights(88)
True
>>> double_eights(2882)
True
>>> double_eights(880088)
True
>>> double_eights(12345)
False
>>> double_eights(80808080)
False”“”
“*** YOUR CODE HERE ***”
ans = 0
while n > 0:
ans = (n % 10)
if ans == 8 and ((n-ans)//10)%10 == 8:
return True
n -=n % 10
n //= 10
pass
return False