【发布时间】:2017-03-12 17:17:46
【问题描述】:
我尝试执行以下代码,
def dating_age (my_age):
if my_age < 18 & my_age >= 13:
girls_age = my_age/2+5
elif my_age <13:
print ("You are ineligible to date")
else:
girls_age = my_age/2+9
return girls_age
my_age_input = int(input("Enter your age: "))
dating_limit = (dating_age(my_age_input))
if my_age_input < 13:
print (dating_limit)
else:
print ("I can date Girls of" , int(dating_limit) , "and higher")
并得到以下错误:
Enter your age: 12
You are ineligible to date
Traceback (most recent call last):
File "C:/Users/animi/PycharmProjects/LearnPython/Functions.py", line 27, in <module>
dating_limit = (dating_age(my_age_input))
File "C:/Users/animi/PycharmProjects/LearnPython/Functions.py", line 24, in dating_age
return girls_age
UnboundLocalError: local variable 'girls_age' referenced before assignment
Process finished with exit code 1
如果我输入 13 以上的任何内容作为输入,则不会生成错误代码。为什么会出现这样的错误以及如何避免?
此外,欢迎任何改进我的编程实践的提示。
【问题讨论】:
-
年龄小于 13 岁时忘记初始化少女
-
我该怎么做? @AnkurJyotiPhukan
-
只是在
elif my_age <13: print ("You are ineligible to date")987654323@之后将少女初始化为一些东西 -
哦,好的,谢谢!完成!
-
好吧,对不起,我是新来的
标签: python python-3.x local-variables