首页 > 解决方案 > 能够访问一个 if 语句中的变量,但不能访问其他

问题描述

这是我的代码中的一个片段,奇怪的是为什么我能够在第三个 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 的错误。为了解决这个问题,我尝试calBegPoint= "Hi"在整个代码段之前声明。这样我就没有得到错误,但是报表 2 上打印的值是“Hi”,而不是我计算的值。

我一直在尝试调试它几个小时。任何方向/指针将不胜感激

UnboundLocalError: local variable 'calBegPoint' referenced before assignment

标签: python-3.xif-statement

解决方案


错误消息试图告诉您calBegPoint在定义它之前使用它。

在您的情况下,第二条或第三条if语句的第一次执行位于第一条if语句的第一次执行之前。


推荐阅读