python - 在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 的两个子句中都有 return 语句- 函数在old_letters_guessed.append(...
执行之前返回。您需要将 append 语句移到 return 语句之前。
这是一种方法。
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
推荐阅读
- vue.js - 何时使用 Vue Composition API 的 setup() 钩子
- python - 在 skimage 中设置图像的亮度不会返回恒定的亮度
- reactjs - 对 Redux 的连接功能感到困惑
- python-3.x - Python:如何连续反映两条n维线中的许多n维点
- r - 无法为 plotly parcoords 图添加颜色?
- batch-file - 选择选项后批处理文件立即退出
- python - lambda 是否可以访问被调用的函数的范围?
- git - 鱼壳:如何解释 git 响应?
- java - 尝试从命令行运行时,Maven 找不到主类
- c# - 配置不同类型的支持字段