[英]saving inputs on variable on python
im trying to save an input on a list and when the function is running its checking if the letter is on the list, if it is a new guess its return True.我试图将输入保存在列表中,当 function 运行时检查字母是否在列表中,如果是新猜测则返回 True。 but i dont sucess to save the guesses in the variable.
但我没有成功将猜测保存在变量中。 thanks for help !
感谢帮助 ! (im even ask from the function to print the list to show if its save the guesses but its not)
(我什至要求 function 打印列表以显示它是否保存了猜测但不是)
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)
You have return statement in both clauses of the if/else - the function returns before old_letters_guessed.append(...
is executed. You need to move the append statement before the return statements.您在 if/else 的两个子句中都有 return 语句 - function 在执行
old_letters_guessed.append(...
之前返回。您需要在 return 语句之前移动 append 语句。
Here is one way to do it.这是一种方法。
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
You are returning the function in the if else statement itself.您将在 if else 语句本身中返回 function。 Any code after the return won't work.
返回后的任何代码都不起作用。
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)
This should work.这应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.