【发布时间】:2020-05-13 12:34:57
【问题描述】:
这是我的代码中的一个 sn-p,奇怪的是为什么我能够在第 3 个 if 语句中访问名为“calBegPoint”的变量,但不能在第二个语句中访问。
if graph != None:
for trace in graph['data']:
if 'LSR(' in trace['name']:
calBegPoint = trace['x'][0] #Statement 1
if '% change' in trace['name']:
print(calBegPoint) #Statement 2
if 'LSR Extended' in trace['name']:
print(calBegPoint) #Statement 3
当我运行此代码时,我在语句 2 上收到以下错误,但如果我评论它,我不会收到语句 3 的错误。为了解决这个问题,我尝试在整个 sn 之前声明 calBegPoint= "Hi" -p。这样我没有得到错误,但是 Statement 2 上打印的值是“Hi”,而不是我计算的值。
我已经尝试调试它几个小时了。任何方向/指针将不胜感激
UnboundLocalError: local variable 'calBegPoint' referenced before assignment
【问题讨论】:
-
尝试推断当
graph['data']的第一个元素第一个if语句没有触发,但第二个或第三个语句没有触发时会发生什么。 -
@timgeb:你是个天才!!!非常感谢您的帮助!你可以把它放在答案中,我会接受的。这就是我所需要的。 :)