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

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

求一個數(shù)的數(shù)字根

求一個數(shù)的數(shù)字根

PHP
夢里花落0921 2023-11-09 10:47:34
我嘗試實現(xiàn)查找數(shù)字的數(shù)字根的函數(shù)(它是數(shù)字中所有數(shù)字的遞歸和。)但由于某種原因,如果函數(shù)對自身進行遞歸調(diào)用,它不會返回任何內(nèi)容import functoolsdef digital_root(n):  r=functools.reduce(lambda x,y:int(x)+int(y),list(str(n)));  if r//10<1:   return r  else:   digital_root(r)
查看完整描述

3 回答

?
倚天杖

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

您沒有在 else 子句中返回任何值,因此它給出 None


def digital_root(n):

  r=functools.reduce(lambda x,y:int(x)+int(y),list(str(n)));

  if r//10<1:

   return r

  else:

   return digital_root(r)

更具可讀性的形式是:


def root(n):

    d_sum = 0

    for i in str(n):

        d_sum += int(i)

    if dsum<10:

        return d_sum

    return root(d_sum)

沒有遞歸:


def root(n):

    while n > 9:

        n = sum(map(int, str(n)))

    return n


查看完整回答
反對 回復(fù) 2023-11-09
?
莫回?zé)o

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

除了缺少 之外return,您還沒有查找簡化的封閉式算法:

return 9 if (r % 9 == 0) else (r % 9)
# Parentheses are unneeded, but added for readability

數(shù)字和的“老派”名稱是“casting out nines”。您采用該數(shù)字的?;鶖?shù)b-1,其中b是原始數(shù)字基數(shù)。十進制為 9,十六進制為 15,等等。


查看完整回答
反對 回復(fù) 2023-11-09
?
POPMUISE

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

我不確切知道您想要實現(xiàn)什么,但我猜您想返回遞歸調(diào)用的結(jié)果,因此將示例的最后一行更改為:

   return digital_root(r)


查看完整回答
反對 回復(fù) 2023-11-09
  • 3 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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