Python 3.x 为什么计数不作为全局值?(赋值前引用的局部变量计数)
我试图在函数中使用count值,但得到一个错误“赋值前引用的局部变量‘count’”,我不能在函数中使用count=0,因为它是递归的。我还试图通过在外部定义count来保持全局性,但它给出了一个语法错误。请有人向我解释什么是错误的,以及如何修复此代码 我的代码如下:Python 3.x 为什么计数不作为全局值?(赋值前引用的局部变量计数),python-3.x,list,Python 3.x,List,我试图在函数中使用count值,但得到一个错误“赋值前引用的局部变量‘count’”,我不能在函数中使用count=0,因为它是递归的。我还试图通过在外部定义count来保持全局性,但它给出了一个语法错误。请有人向我解释什么是错误的,以及如何修复此代码 我的代码如下: s=["abc","asd"] d="" count=0 def func(): if(count==len(s)): exit(0) else: for i in s:
s=["abc","asd"]
d=""
count=0
def func():
if(count==len(s)):
exit(0)
else:
for i in s:
print(i[count])
count=count+1
func()
func()
还试图保持全局,我得到了无效的语法
s=["abc","asd"]
d=""
global count=0
def func():
if(count==len(s)):
exit(0)
else:
for i in s:
print(i[count])
count=count+1
func()
func()
您需要在函数中将count声明为全局,如下所示:
s=["abc","asd"]
d=""
count=0
def func():
global count
if(count==len(s)):
exit(0)
else:
for i in s:
print(i[count])
count=count+1
func()
func()
必须在写入变量的每个作用域中声明变量
global
。直接在行def func():
之后添加global count
。但是,您应该强烈考虑使用函数参数而不是全局变量来实现这一点。