我是Python新手,对整个非局部事物有点困惑。这是代码的问题片段:
positon = 0b0
while True:
pos_choice = input("\tPlease enter your choice: ").lower()
if pos_choice == '1':
position = position | Baseball.pitcher
break
elif pos_choice == '2':
position = position | Baseball.catcher
break
elif (pos_choice == 'd') and (position != 0b0):
break
elif (pos_choice == 'd') and (position == 0b0):
print("\tChoose a position.")
else:
print("Invalid choice.")
print(position)
所以这引起了我的注意:
Traceback (most recent call last):
File "driver.py", line 252, in <module>
load_student()
File "driver.py", line 142, in load_student
position = position | Baseball.catcher
UnboundLocalError: local variable 'position' referenced before assignment
基于我对其他问题的答案所读到的内容,问题在于问题&#34;位置&#34;是从原始调用中嵌套了两个循环(是吗?)。
我的主要问题是我无法弄清楚如何使用非本地绑定两个位置,尽管我尝试了各种解决方案但无济于事。另外,使用非本地禁忌就像使用全球时一样吗?谢谢你的帮助!
答案 0 :(得分:0)
您的代码中有拼写错误。在声明中,变量拼写为positon
而不是position
。
答案 1 :(得分:0)
你的第一行有一个简单的拼写错误。