私は現在、オンラインコースでPython 2.7を教えていますが、ブール演算子には少し問題があります。コンテキストは非常にシンプルです - 閉鎖されたテキストベースのアドベンチャーゲーム(実行には30秒かかる)。なぜPython(2.7)またはブール演算子がTrueを間違って返すのですか?
さまざまなユーザー入力を可能にするif文を追加しました。しかし、入力が「gobbledigook」または「right」の場合は、elifという文があります。 bear_room()関数がまだ呼び出されています。 OR機能を誤って使用していますか? 謝罪これはすでにどこかで答えられている場合、ブール論理のチェック私は私の現在の思考を確認したので、あまり役に立たなかった!それは論理ORブール値ではない - - それはどちらかそれをだ
choice = raw_input()
if choice == "left" or "Left" or "LEFT":
bear_room()
これは素晴らしいことです。私は一日中このようにしてきました。私がこのような単純な構文を見逃したとは信じられません。ありがとう! – rtob
問題ありません。もう1つの答えは、より深く、なぜこれが起こるかを説明します。つまり、あなたの他の 'または'は実際にはTrueと評価されます – Pythonista