Python初學——遞歸法、匿名函數

猴子偷桃(遞歸改寫)
實驗任務:猴子第一天摘下若干個桃子,當即喫完了一半,還不過癮,又多吃了一個,第二天早上又將剩下的桃子喫掉一半又多喫一個,以後每天早上都吃了前一天剩下的一半零一個。到第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))

運行結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章