我正在为我的班级制作一个相当简单的 wordle 克隆。它的功能与 wordle 完全相同,只是在 CLI 中。但是,我在测试时遇到了一个奇怪的错误。
执行时,python返回
Traceback (most recent call last):
File "<string>", line 46, in <module>
File "<string>", line 19, in input_guess
NameError: name 'i' is not defined
代码是
def input_guess():
#gets input
while True:
guess = (str(input(f"Attempt {i + 1} >>> " ))).lower()
if len(guess) != 5 or guess == int:
print("Invalid input")
continue
else:
return guess.lower()
def split(word):
#splits word
return list(word)
while attempts < 6:
# wordle
guess = split(input_guess())
for i in guess:
if guess[i] == word[i]: #green
response[i] = guess[i]
if guess[i] in word and guess[i] != word[i]: # yellow
response[i] = "-"
if guess[i] not in word: #miss
response[i] = "_"
为什么我会收到此错误?我究竟做错了什么?我似乎无法绕过它。
干杯
您的文件正在被逻辑地从上到下读取。在“while”中的“for”循环之前,您不会定义“i”。如果您希望 input_guess 可以访问“i”,则需要在定义函数之前在一行中定义它,或者将其作为参数传递给函数调用,例如guess = split(input_guess(i))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句