gpt4 book ai didi

python - 如何使用递归多次划分数字并跟踪迭代?

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:23 26 4
gpt4 key购买 nike

我正在尝试创建一个函数,它将整数参数减半,直到它小于 1。我还想跟踪执行此操作所需的迭代次数。到目前为止,这是我所拥有的,但我坚持要在递归案例中放入什么:

def case(number):
if number == 1:
return 1
else:
return number * 0.50 # not sure how to do this part
case(20)

例如,如果我将 20 作为“case”的参数传递,我希望递归 case/函数执行 20 * 0.50(或 20/2)= 10,然后取 10 * 0.50 = 5,然后取 5 * 0.50 ect.. 直到数字小于 1。

在此示例中,需要 6 次迭代才能低于 1 (0.625)。

如何让递归案例继续除以或取一半的数字,并在控制台打印迭代次数?

注意:我知道 while 循环会更适合这种情况,但我正在工作的项目中,递归会让以后更容易。

谢谢你的帮助!

最佳答案

def case(number):
if number <= 1: # base case (exit)
return 1
else:
return 1+case(number * 0.50) # recursive case

关于python - 如何使用递归多次划分数字并跟踪迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53163393/

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