\

Pythonのany関数は、リストや他のイテラブルなオブジェクトの要素が一つでも条件に一致するかどうかをチェックするために使用されます。以下にその使用例を示します。

months_list = ["January", "February", "March", "April", "May", "June", "July"]
answer = input("Month? \\n")
while any(item.lower() != answer.lower() for item in months_list):
    print("Sorry, didn't recognize your answer, try again")
    answer = input("Type in Month\\n")

上記のコードでは、ユーザーが入力した月がmonths_listに存在するかどうかをチェックしています。もし存在しなければ、ユーザーに再度入力を求めます。

しかし、このコードは期待通りに動作しません。なぜなら、any関数はイテラブルの要素のうち一つでもTrueを返すとTrueを返すため、answermonths_listの全ての要素と一致しない限りループが続くからです。

この問題を解決するためには、以下のようにコードを修正します。

months_list = ["January", "February", "March", "April", "May", "June", "July"]
while True:
    answer = input("Month? ")
    if any(item.lower() == answer.lower() for item in months_list):
        break
    print("Sorry, didn't recognize your answer, try again")

この修正版のコードでは、answermonths_listのいずれかの要素と一致した場合にループを抜けるようになっています。

以上がPythonのany関数を使ってリスト内の要素が一致するかどうかをチェックする方法です。この情報がPythonプログラミングに役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です