【发布时间】:2021-08-07 15:19:16
【问题描述】:
基本上我在做一个测验,python 返回一个错误,说下面显示的变量在定义时是未定义的。
def guesscheck(guess, answer):
correct = "null"
print(lives * '\u2665')
if guess.upper() == answer:
print("Marvelous! That is correct!")
correct = True
return correct
if guess.upper() != answer:
print("That is incorrect.")
correct = False
return correct
lives = 3
guess = input("ok: ")
guesscheck(guess, "OK")
if correct == False:
lives = lives - 1
print(lives * '\u2665')
如您所见,我调用了应该将变量“正确”定义为 True 或 False 的函数并将其返回给程序的其余部分,但由于某种原因它显示为未定义。请帮帮我!
【问题讨论】:
-
很难说,因为你还没有格式化代码,但似乎问题是
correct在函数的本地范围内,尝试在函数定义的顶部添加global correct -
它只在
guesscheck函数的主体中定义。见docs.python.org/3/tutorial/… -
@Mattiiss 我会试试的。
-
即使是这样,你在代码中的什么地方使用了循环?
-
@JustANoobProgrammer,是的,
return <variable>语句确实返回了一些东西,但既不是变量的名称,也不是值,而是引用。为了使用引用,您必须按照许多答案的建议将其分配给您自己的变量。
标签: python