gpt4 book ai didi

python - 如何在Python的递归函数中添加计数器

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:12 25 4
gpt4 key购买 nike

计数器x在整个递归过程中保持为1,而不是递增。

我的代码

def square(l):
if len(l) > 0:
x=0
print("square of element ", x+1 , ": ", l[0] ** 2)
square(l[1:])


b = (-2,3,11)
square(b)

输出

square of element 1 : 4

square of element 1 : 9

square of element 1 : 121

有办法解决这个问题吗?提前致谢

最佳答案

代码中的

x=0 定义了一个局部变量;即函数的每个实例都有一个新变量,当递归调用 square 时,嵌套的被调用函数将创建自己的 x

解决方案是使用全局:

x = 0

def square(l):
if len(l) > 0:
global x
x = x+1
print("square of element ", x , ": ", l[0] ** 2)
square(l[1:])

关于python - 如何在Python的递归函数中添加计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54436328/

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