Сценарий: у меня есть словарь элементов:
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, если пользователь вводит только одну правильную букву в строке. Он не проверяет всю строку, необходимую для моей программы.