我在pyqt5类中的函数中使用此代码。你知道吗
print(len(k))
print(len(u))
if len(k) / 3 < len(u):
c = len(k) / 3 + 1
c = round(c, 0)
elif len(k) / 3 < len(u):
c = len(u) + 1
print(c)
这里k和u是列表
我的IDE(PyCharm)在将鼠标悬停在变量“c”行“print(c)”上时发出警告“Variable referenced before assignment”
输出打印为 8 2 在那之后,Python停止了工作
其中8和2是列表的长度
我尝试过使用函数和全局变量作为
print(len(k))
print(len(u))
def getvar(a,b):
global c
if a / 3 < b:
c = a / 3 + 1
c = round(c, 0)
elif a / 3 < b:
c = b + 1
return c
print(getvar(len(k),len(u)))
这是印刷 8 二
python又一次停止了工作
有人能建议我如何解决这个问题吗。你知道吗
PS所有这些代码都在pyqt5类的函数中
例如
class Ui_Dialog(object):
def setupUi(self, Dialog):
...some..code..
self.startBtn.clicked.connect(self.run)
def run(self):
...some..code..
** code mentioned above**
我用的是python3.6
首先,这两个条件是一样的!(这应该不会困扰您的IDE,因为它可能无法分析那么远),但更重要的是,您缺少了一个
else:
,因此c
可能是未定义的。你知道吗问题在于:
首先,条件(
len(k) / 3 < len(u)
)是相同的,elif
永远不会被执行。出现unused variable
条件是因为这两个arm都不能执行;然后c
是未定义的。使用一个else
块来捕获它,例如通过提升ValueError
。你知道吗相关问题 更多 >
编程相关推荐