1

3つのファイルと2つのパッケージで構成されるスクリプトがあります。IDLEまたはコマンドラインからスクリプトを実行すると、完全に実行されます。cx_freezeを使用してプログラムを実行可能ファイルに変換しましたが、input()メソッドを介して受信したテキストが正しく評価されていないことを除いて、正常に機能します。このコードは私自身を反映しています:

x = str(input("Continue? (y/n): "))
if x.lower() == "y" or x.lower() == "yes":
    cont = True
else:
    print("thanks for playing.")
    cont = False
input("press enter key to exit...")

str()コンバーターを入力関数に追加して、それが役立つかどうかを確認しましたが、役に立ちませんでした。「yes」または「y」を入力しても、条件はfalseと評価され、理由はわかりません。また、条件の各ブランチにprintステートメントを追加しました。xに対して出力された値は正しいですが、それでもfalseと評価されます。

4

1 に答える 1

0

入力の最後に改行文字が含まれる場合があります。それを取り除いてみてください:

x = input("Continue? ").strip()
于 2012-05-25T16:38:32.453 に答える