gpt4 book ai didi

Python基础数学算法函数

转载 作者:太空宇宙 更新时间:2023-11-04 07:35:11 24 4
gpt4 key购买 nike

我试图准确理解这个函数是如何工作的,我一直在尝试它,但我不确定。

  • 据我所知:余数为 1(奇数)的任何值都将返回 0

  • 我感到困惑的是:当我计算它时,我得到了 2 这将导致但不是 '36//2 + 1' 等于 '19' 而不是 ' 2'?

代码:

def anon(n):
if n % 2 == 1:
return 0
else:
return 1 + anon(n//2)

print(anon(36))

最佳答案

让我们看看 anon(36) 会发生什么:

36 % 2 不是 == 到 1,所以它返回 1 + anon(18)。

18 % 2 不是 == 到 1,所以它返回 1 + anon(9)。

9 % 2 == 1,所以它返回 0。

将所有返回相加得到:1 + 1 + 0 = 2。我建议研究递归如何与堆栈图一起工作!请注意,您再次调用了 anon() 函数,这就是它继续运行的原因。

关于Python基础数学算法函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com