第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

輸出為 100 但我不明白為什么

輸出為 100 但我不明白為什么

拉風(fēng)的咖菲貓 2022-06-28 15:18:49
輸出為 100,但我不明白為什么。有人可以逐步了解此代碼的工作原理。def fun(n):    if (n > 100):        return n - 5    return fun(fun(n+11))print(fun(45)) 
查看完整描述

2 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

分解你的代碼。



def fun(n): 

    if (n > 100): 

        return n - 5 

    return fun(fun(n+11)) 

print(fun(45))

> n =45, n > 100 == False, return fun(fun(n + 11))

    > fun(45+11) == fun(56), n = 56, 56 > 11 == False, return fun(fun(n + 11))

        > fun(56+11), n = 67

           > fun(67+11), n = 78

               > fun(78+11), n = 89

                   > fun(89 + 11), n= 100

                       > fun(100+11), n = 111

                       > fun(111), n > 100 return 111 - 5

                   > fun(106), return 106 - 5

               > fun(101), return 101 - 5

           > fun(96), return fun(fun(96+11))

               > fun(107), return 107 - 5

               > fun(102), return 102 - 5

           > fun(97), return fun(fun(97+11))

               > 108 - 5

               > 103 - 5

            > fun(98)

                > 109 - 5

                > 104 - 5

             > fun(99)

                > 110 - 5

       > 105 - 5, return 100

這里有代碼:


def fun(n, s):

    space = " " * s

    if (n > 100):

        print(f"{space} > return {n}-5={n-5}")

        return [n - 5, s - 3]

    print(f"{space} > return fun(fun({n} + 11))\n {space + '   '} > return fun(fun({n+11}))")

    return fun(*fun(n+11, s+3))


print(fun(45, 0))


查看完整回答
反對 回復(fù) 2022-06-28
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

正如一些評論中指出的那樣,您最好的機(jī)會(huì)是寫下紙上發(fā)生的事情:


當(dāng)n低于 100 時(shí),您將 11 添加到n,并更深。

當(dāng)n高于 100 時(shí),您返回n-5,并走得更高。

如果你想在紙上表現(xiàn)出來,你可以每加11就往下,每減5就回來。超過你的起點(diǎn),你就會(huì)有你的結(jié)果,上升。


START                                                100

 |                                                    ^

 V                                                    |

 45                                        99    99  105

 56                            98    98   104   110  110

 67                 97    97  103   109   109

 78     96    96   102   108  108

 89    101   107   107

 100   106

 111   111

由于您正在嘗試雙重遞歸,我想您已經(jīng)熟悉遞歸了;如果沒有,請先看看那里!


查看完整回答
反對 回復(fù) 2022-06-28
  • 2 回答
  • 0 關(guān)注
  • 115 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號