シナリオ: アイテムの辞書があります:
d = {'abcde': 1, 'ETHAN': 2, 'dogsAndcats': 3, 'cat and MOUSE': 4}
ユーザーに、辞書 d の 4 つのキー値のいずれかを入力するように求めます。
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
これは、ユーザーが文字列に正しい文字を 1 つだけ入力した場合に true を返します。私のプログラムに必要な文字列全体をチェックするわけではありません。