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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么Python遞歸函數(shù)返回None

為什么Python遞歸函數(shù)返回None

阿晨1998 2019-10-23 15:06:49
以下代碼返回None某些值(例如306, 136),42, 84返回某些值(),正確返回答案。在print a和return a應(yīng)產(chǎn)生相同的結(jié)果,但它并不:def gcdIter (a,b):    c = min (a,b)    d = max (a,b)    a = c    b = d    if (b%a) == 0:        print a        return a    gcdIter (a,b%a)    print gcdIter (a,b)
查看完整描述

1 回答

?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

您將忽略遞歸調(diào)用的返回值:


gcdIter (a,b%a) 

遞歸調(diào)用與對其他函數(shù)的調(diào)用沒有什么不同;如果那是您試圖產(chǎn)生的結(jié)果,您仍然需要對該調(diào)用的結(jié)果做些事情。您需要將返回值傳遞給return


return gcdIter (a,b%a)    

請注意,分配時可以分配給多個目標(biāo):


def gcdIter(a, b):

    a, b = min(a, b), max(a, b)

    if b % a == 0:

        return a

    return gcdIter(a, b % a)  

您真的不需要關(guān)心這里的較大和較小值。一個更緊湊的版本是:


def gcd_iter(a, b):

    return gcd_iter(b, a % b) if b else abs(a)


查看完整回答
反對 回復(fù) 2019-10-23
  • 1 回答
  • 0 關(guān)注
  • 272 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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