0
Pythonでゲーム用の燃料計算プログラムを作成した後、cx_Freezeで.exeにコンパイルしました。これはよく.exeに変換され、実行可能ファイルを開くことができますが、スクリプトがユーザーとやりとりするときに、ユーザーが要求された情報を入力するときにEnterキーを押した後にウィンドウが閉じます。 これはコードの一部です。ユーザーに情報を要求した後、プログラムは計算を行いますが、問題が入力にあるため問題にはならないと思います。私は、ユーザーが入力した情報の入力でEnterキーを押したときにプログラムが終了しないようにしたい。Pythonファイル実行エラー
import sys
COMBUSTIBLE=chr(raw_input("Introduce unidad de combustible: "))
DURACION=chr(raw_input("Introduce unidad de duracion: "))
if COMBUSTIBLE != "litros" and COMBUSTIBLE != "kilos" and DURACION != "vueltas" and DURACION != "tiempo" and DURACION != "km":
print "Error: Ambos argumentos son invalidos"
print "Primer argumento debe ser 'litros' o 'kilos'"
print "Segundo argumento debe ser 'tiempo' o 'vueltas' o 'km'"
sys.exit(1)
elif COMBUSTIBLE != "litros" and COMBUSTIBLE != "kilos":
print "Error: Primer argumento invalido"
print "Primer argumento debe ser 'litros' o 'kilos'"
sys.exit(2)
elif DURACION != "tiempo" and DURACION != "vueltas" and DURACION != "km":
print "Error: Segundo argumento invalido"
print "Segundo argumento debe ser 'tiempo' o 'vueltas' o 'km'"
sys.exit(3)
else:
pass
# TIPO 1 - LITROS - VUELTAS
if COMBUSTIBLE == "l" and DURACION == "v":
# DATA REQUEST
RACE_DURATION=int(raw_input("Introduce el total de vueltas de la carrera: "))
CAR_FUEL=float(raw_input("Introduce los litros totales del coche: "))
FUEL_PER_LAP=float(raw_input("Introduce el consumo medio en litros por vuelta: "))
sys.exit()行を削除し、ファイルの最後にraw_input( "終了するには任意のキーを押してください:")を追加しました。しかし、同じことが起こります。最初にプログラムはこのCOMBUSTIBLE = chr(raw_input( "Introduced unidad de combustible:"))をユーザに示します.COMBUSTIBLEの2つの可能な値は "litros"または "kilos"です。私はlitrosと私はEnterキーを押すと、cmdのウィンドウが閉じます。スクリプトはPythonファイルを実行するが、実行可能ファイルは実行しないとうまく動作します。 –
exeファイルを再作成しましたか? – alpert
はい、私はcx_Freezeでpythonファイルのexeファイルを作成しました。私はexeをうまく開くことができます、問題はスクリプトが私と対話し、私は最初に要求された情報の価値を紹介するためにenterを押す必要があります.. そして、私は最後のexeを削除し、 exeでも同じ問題です。 –