在python中保存变量的输入



我试图保存一个列表上的输入,当函数运行时,它检查字母是否在列表上,如果它是一个新的猜测,它返回True。但我没有成功地保存在变量的猜测。谢谢你的帮助!(我甚至要求函数打印列表,以显示它是否保存猜测,但它没有)

letter_guessed = input("please guess a letter").lower()    
old_letters_guessed = [ ]
def check_valid_input(letter_guessed, old_letters_guessed):
"""
this function will check if the the guess is ok
:param letter_guesses: the user's guess
:type letter_guesses: str
:return: True if the guess is complies with the rules and False if not
:rtype: bool
"""
import string 
if letter_guessed.isalpha() and len(letter_guessed) == 1 and letter_guessed not in old_letters_guessed :
return(True) 
else:
return(False) 
old_letters_guessed.append(letter_guessed)
print(old_letters_guessed)

check_valid_input(letter_guessed, old_letters_guessed)

在if/else的子句中都有返回语句-函数在old_letters_guessed.append(...执行之前返回。您需要将追加语句移动到返回语句之前。

这是一种方法。

is_valid = (letter_guessed.isalpha()) and (len(letter_guessed) == 1) and (letter_guessed not in old_letters_guessed)
if is_valid: old_letters_guessed.append(letter_guessed)
return is_valid

在if else语句本身中返回函数。返回后的任何代码都不能工作。

letter_guessed = input("please guess a letter").lower()    
old_letters_guessed = [ ]
def check_valid_input(letter_guessed, old_letters_guessed):
"""
this function will check if the the guess is ok
:param letter_guesses: the user's guess
:type letter_guesses: str
:return: True if the guess is complies with the rules and False if not
:rtype: bool
"""
import string 
if letter_guessed.isalpha() and len(letter_guessed) == 1 and letter_guessed not in old_letters_guessed :
old_letters_guessed.append(letter_guessed)
print(old_letters_guessed)
return(True) 
else:
print(old_letters_guessed)
return(False) 


check_valid_input(letter_guessed, old_letters_guessed)

应该可以。

最新更新