我正在定义一个函数,要求用户输入其名称,然后输入一个与他们要执行并存储为decision的动作相对应的数字。我希望该函数返回播放器名称和decision,以使程序的其他部分参与其中。

当我第一次执行该程序时,它完成了startup()的罚款,但没有使用if语句。然后,我放入print("Made to here, %s, %i" %(player_name, decision))来查看函数返回的内容。它在此行引发类型错误,指出decision作为类型而不是整数返回。

def startup():
    player_name = str(input("Hail and well met. What is your name?  "))
    decision = int(input(player_name+", enter 0 to play and 1 for result statistics."))
    return (player_name, decision)

startup()
print("Made to here, %s, %i" %(player_name, decision))

if decision == 0:
    print("Game time!")
elif decision == 1:
    print("Let's see how you've done.")

最佳答案

您的变量是函数的局部变量。不要在这里使用global,只需解压缩即可:

player_name, decision = startup()

10-08 18:05