Python 3.4 Сопоставление строки со списком строк (в виде ключей из словаря) ** без учета регистра.**

Сценарий: у меня есть словарь предметов:

d = {'abcde': 1, 'ETHAN': 2, 'dogsAndcats': 3, 'cat and MOUSE': 4}

Я прошу пользователя ввести одно из четырех ключевых значений словаря d:

user_input = input()

Затем я беру их значение и проверяю его по каждому ключевому имени в словаре:

for key in d.keys():
    if user_input == key:
        return True

Предположим, что пользователь несколько дружелюбен и, по крайней мере, вводит правильное написание слов. Но! -Вот вся основа моего вопроса - пользователь пренебрегает использованием правильной заглавной буквы.

Как я могу проверить введенные пользователем данные в моем списке, игнорируя заглавные буквы?

Я пытался использовать методы регулярного выражения.search и.match. Смотрите код ниже:

def check_value_in_dict(val, d): 
    for k in d.keys():
        if re.search(val, k, re.IGNORECASE):
            return True

Это возвращает true, если пользователь вводит только одну правильную букву в строке. Он не проверяет всю строку, которая необходима для моей программы.

1 ответ

Просто сделайте:

if user_input.lower() == key.lower()
Другие вопросы по тегам