我刚开始学习python,为了锻炼,我做了一种文字游戏。 在一部分中有一个if语句,其中定义了一个变量,然后它进一步将您发送给您。我想稍后再使用相同的变量,但随后它表示未定义。我该怎么解决?
我使用python 3.7.3。我尝试了不同的括号,看看是否使用了错误的括号,但这没用。
answer_A = ["a"]
answer_B = ["b"]
def begin():
print("type a or b")
choice = input(">>> ")
if choice in answer_A:
yes = ("a")
option_a()
else:
yes = ("b")
option_b()
def option_a():
print("This is", yes)
def option_b():
print("This is", yes)
begin()
我希望,例如,如果您输入“ a”作为输入,则得到answer_A,并且它将“ yes”注册为“ a”。这样它将转到option_a()并显示:“ This is a”。
相反,我得到的答复是,它接受了您的答案,然后转到option_a,但随后出现一个错误,即未定义“是”。
({NameError: name 'yes' is not defined
)
答案 0 :(得分:0)
您可以在方法option_a()
和option_b()
中添加参数,以使它们看起来像option_a(args)
或option_b(args)
。然后,您可以使用print("This is", args)
打印它们。
这样您的程序将如下所示:
answer_A = ["a"]
answer_B = ["b"]
def begin():
print("type a or b")
choice = input(">>> ")
if choice in answer_A:
yes = ("a")
option_a(yes)
else:
yes = ("b")
option_b(yes)
def option_a(param):
print("This is", param)
def option_b(param):
print("This is", param)
begin()