我想通过函数获取用户输入并将其与关键字列表进行比较,如果用户输入的任何单词与关键字匹配,则满足条件并中断循环。如果没有一个单词与关键字匹配,则控制台会再次要求输入。我一直在操纵这个循环,无论是否满足关键字,都让它不断要求输入,或者验证每个单词输入。任何有关如何纠正它的建议将不胜感激。
def validated_response(user_complaint):
valid_list = user_complaint.split()
while True:
if user_complaint == "stop":
break
for valid in valid_list:
if valid.lower() not in user_complaint.lower():
print("Response not recognized, please try again")
input("Enter response: ")
continue
else:
print("response validated: ")
break
return True
最佳答案
此函数将继续获取用户输入,直到输入与“kwrd1”、“kwrd2”或“kwrd3”匹配:
def get_input():
keywords = ['kwrd1', 'kwrd2', 'kwrd3']
user_input = None
while True:
user_input = input()
if user_input in keywords:
break
return user_input
如果您将其与 python 关键字匹配,则有一个内置 keyword
模块:
import keyword
def get_input():
user_input = None
while True:
user_input = input()
if keyword.iskeyword(user_input):
break
return user_input
关于python - 将用户输入与关键字列表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53825565/