CX_FREEZEを使用してEXEに組み込まれているPythonスクリプトで正しく評価されないコンソール入力
-
12-12-2019 - |
質問
私は3つのファイルと2つのパッケージで構成されるスクリプトを持っています。スクリプトをアイドル状態でまたはコマンドラインで実行すると、完全に実行されます。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()変換器を追加しましたが、そうではありませんでした。 「はい」または「Y」と入力しても、条件付きは依然として偽に評価され、その理由はわかりません。私はまた条件付きの各分岐に印刷文を追加し、xに印刷された値は正しいですが、それでも偽の評価を評価します。
解決
入力が終了時に改行文字を取得することがあります。除去してみてください:
x = input("Continue? ").strip()
. 所属していません StackOverflow