Python 3.x 全局变量不工作?
我正在尝试制作一个基本的掷硬币器,我希望有一种方法在完成后重复它,所以我添加了answer变量,如果它==y,那么它将重复我的主函数。 但是在while中(答案==“y”):这意味着答案没有定义,即使我已经全球化了变量Python 3.x 全局变量不工作?,python-3.x,Python 3.x,我正在尝试制作一个基本的掷硬币器,我希望有一种方法在完成后重复它,所以我添加了answer变量,如果它==y,那么它将重复我的主函数。 但是在while中(答案==“y”):这意味着答案没有定义,即使我已经全球化了变量 import random def main(): myVar = random.randint(1,2) if myVar == "2": print("Heads") else: print("Tails")
import random
def main():
myVar = random.randint(1,2)
if myVar == "2":
print("Heads")
else:
print("Tails")
global answer
answer = input("repeat?")
while(answer == "y"):
main()
main()
while循环必须在调用main()函数之后。即使您在while循环之前定义了函数,但在调用它之前它不会运行
main()
while(answer == "y"):
main()
此外,结果也将始终是“Tails”,因为您检查myVar是否==“2”,这是一个字符串。在这种情况下,myVar永远不是字符串。删除引号以检查整数值
if myVar == 2: