Entrada de la consola que no se evalúa correctamente con el script de Python integrado en un EXE con CX_Freeze

StackOverflow https://stackoverflow.com//questions/10696239

  •  12-12-2019
  •  | 
  •  

Pregunta

Tengo un guión que consiste en 3 archivos y 2 paquetes.Cuando ejecuto el script en inactivo o por la línea de comandos, se ejecuta perfectamente.Utilicé cx_freeze para convertir el programa a un ejecutable, y aún funciona bien, excepto que el texto recibido a través del método de entrada () se está evaluando incorrectamente.Este código refleja mi propio:

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...")

Añadido el convertidor STR () a la función de entrada para ver si lo ayudaría, pero no lo hizo. No importa si escribo "sí" o "y", el condicional aún se evalúa a FALSO, y no tengo idea de por qué.También agregué las declaraciones de impresión a cada rama del condicional, y el valor impreso para X es correcto, pero aún así se evalúa falso.

¿Fue útil?

Solución

A veces la entrada obtiene un carácter de nueva línea al final.Intenta eliminarlo:

x = input("Continue? ").strip()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top