【发布时间】:2026-01-05 22:20:23
【问题描述】:
我正在尝试取一个数字,对其进行地板除法,直到它变为 0。这必须使用带有基本情况的递归来完成。 例如:
>>>Base(5,2)
2 ##(5//2)
1 ##(2//2)
0 ##(1//2)
这是我目前所拥有的:
def Base(number,base):
result=1
if result==0:
return False
else:
result=number//base
return Base(result,base)
【问题讨论】:
-
你有两个问题。您一直将结果设置为 1,并且您有一个从未声明过的
n。 -
@idjaw 我改了 n。抱歉,我的意思是那里的数字。
-
太棒了。现在在函数的开头处理
result=1。想想当你继续设置result=1时会发生什么。逐行运行。 -
@idjaw 这是一个很好的观点。由于无法将结果设置为特定数字,我应该如何声明结果?
-
number = number // base怎么样 :)
标签: python python-3.x math recursion base