全局变量不起作用?

时间:2015-12-24 23:28:07

标签: python-3.x

我试图制作一个基本的硬币鳍状肢,我想要一个方法重复它一旦完成,所以我添加了答案变量,如果它== y然后它将重复我的主要功能。 但是在while(answer ==“y”)中:即使我对变量进行了全球化,也没有定义答案?

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()

1 个答案:

答案 0 :(得分:0)

while循环必须在调用main()函数之后。即使您已经在while循环之前定义了该函数,但在调用它之前它不会运行。

main()
while(answer == "y"):
    main()

此外,结果也将始终为“Tails”,因为您检查myVar ==“2”,这是一个字符串。在这种情况下,myVar永远不是一个字符串。删除引号以检查整数值。

if myVar == 2: