您好,我收到了这个错误“UnboundLocalError:LocalVariable”text“在赋值之前引用”。你怎么解决这个问题
这是我的密码:
even = None
def is_even(num):
if num % 2 == 0:
even = True
return even
elif num % 2 != 0:
even = False
return even
def lastmes():
if even == True:
text = "The last value of even is True"
elif even == False:
text = "The last value of even is False"
return text
print(lastmes())
print(is_even(51))
以下是我的错误消息:
Traceback (most recent call last):
File "main.py", line 17, in <module>
print(lastmes())
File "main.py", line 15, in lastmes
return text
UnboundLocalError: local variable 'text' referenced before assignment
如果
even
既不是True
也不是False
,那么text
永远不会被定义even
在程序开始时设置为None
你应该做三件事
首先,将
is_even
函数内的even
变量设为全局变量。您只需创建另一个局部变量并设置其值,该值不会更改在函数外部创建的even
其次,将
lastmes
函数中的elif
更改为else
。如果您计划使用^ {CD4}},并且想考虑^ {< CD1> }为^ {CD9}}的可能性,那么您应该添加另一个^ {< CD6> }来处理^ {CD9}}可能性。第三,在检查值并显示消息之前,在
lastmes
之前调用is_even
,以便计算值相关问题 更多 >
编程相关推荐