python - 将用户输入与关键字列表进行比较

标签 python

我想通过函数获取用户输入并将其与关键字列表进行比较,如果用户输入的任何单词与关键字匹配,则满足条件并中断循环。如果没有一个单词与关键字匹配,则控制台会再次要求输入。我一直在操纵这个循环,无论是否满足关键字,都让它不断要求输入,或者验证每个单词输入。任何有关如何纠正它的建议将不胜感激。

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/

相关文章:

python - 在查询中使用 pandas 和命名参数从 mysql 表中读取

python - 如何并行化包含后请求 API 调用的 python 中的 for 循环?

python - 根据 Pandas 中的索引值将数据帧分成多个数据帧

python - 将列表转换为字符串列表python

python - Django 调试工具栏不出现

python - 无换行输出

python - 如何在python中接收音频输入并将其转换为文本字符串

python - 基于 Python 中的公共(public)值合并/加入字典列表

python - Django:通用ListView,仅在通过ForeignKey在其他模型中时显示

python - 从列表中选择第一个和最后一个 int 值并继续序列直到列表末尾