猴子偷桃(遞歸改寫)
實驗任務:猴子第一天摘下若干個桃子,當即喫完了一半,還不過癮,又多吃了一個,第二天早上又將剩下的桃子喫掉一半又多喫一個,以後每天早上都吃了前一天剩下的一半零一個。到第10天早上再想喫時,就剩下一個桃子了。求第一天共摘多少個桃子?
代碼如下:
def cal(d):
p = 1
if d == 1:
return 1
else:
sum = 2 * (cal(d - 1) + 1)
return sum
print("第一天的桃子數是:", cal(10))
運行結果:
小孩的報酬
實驗任務:一個小孩給一個富翁做事,商量的報酬是第一天2角,第二天是第一天的2倍,以此類推,請問20天后,這個小孩能拿到多少?
代碼如下:
def func(a):
d1 = 0.2
if a == 1:
sum= d1
else:
sum = 2 * func(a - 1)
print("第%d天的報酬是:%.1f元!" % (a, sum))
return sum
func(20)
運行結果:
求長方形面積
實驗任務:求長方形面積,從鍵盤輸入長方形的長和寬,要求輸出該長方形的面積,要求使用匿名函數
代碼如下:
a = float(input("請輸入長方形的長:"))
b = float(input("請輸入長方形的寬:"))
S = lambda a, b: a * b
print("長方形的面積是:", S(a, b))
運行結果: