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 ***"
Falling = n
if k == 0 :
return 1
while k :
if k ==1 :
return Falling
k -=1
Falling = Falling *(n-1)
n -= 1
return Falling
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
# make sure that you are using return rather than print
>>> a = sum_digits(123)
>>> a
6
"""
"*** YOUR CODE HERE ***"
sum = 0
while y :
tmp = y % 10
y = y // 10
sum = sum + tmp
return sum
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 ***"
flag = 0 #标记上一位是否为8
while n :
tmp = n % 10
if tmp == 8 :
if flag :
return True #前后都是八 则返回 True
flag = 1
else :
flag = 0
n = n // 10
return False
CS 61A Fall 2020 lab01
最新推荐文章于 2024-05-16 11:09:42 发布