Консольный ввод не оценивает правильно с помощью сценария Python, встроенным в EXE с CX_FREEZE

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

  •  12-12-2019
  •  | 
  •  

Вопрос

У меня есть скрипт, состоящий из 3 файлов и 2 пакетов.Когда я запускаю скрипт в холостом ходу или через командную строку, она выполняется идеально.Я использовал CX_Freeze, чтобы преобразовать программу на исполняемый файл, и она все еще работает нормально, за исключением текста, полученного через метод ввода (), оценивает неправильно.Этот код зеркает мои собственные:

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, верно, но он все же оценивает false.

Это было полезно?

Решение

Иногда вход получает новенький символ на конце.Попробуйте зачистить его:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top