全局变量给错误
问题描述:
g=0
def smooth(self, a, b):
k=0
c = self.name[a]
d = self.name[b]
e,f=c,d
while(e.get_p()!=f.get_p() and e.get_p()!=None and f.get_p()!=None):
k+=1
e=e.get_p()
f=f.get_p()
if(e.get_p==None and f.get_p()!=None):
global g
g+=1
d=d.get_p()
return self.smooth(a,d.name)
return(k,g)
忽略调用的函数,但是在if语句它没有更新克价值,给了一个错误全局名称“G”是不是在用value.Please帮助全局变量给错误
调用定义
答
在此代码:
g=0
def smooth(self, a, b):
smooth
看起来像一个类的实例方法,以及g
因此看起来像一个类变量,而不是一个全球性的,所以global
关键字不会活像ķ。请尝试将其改为MyClass.g
(其中“MyClass”是您班级的实际名称)或__class__.g
。
+1
+1用于检测显然缺少密钥行的问题。好眼睛 – slezica
是所有的代码?你确定这不在'class'内吗? – slezica