我有一个由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”,条件仍然会评估为False,而且我不知道为什么。我还向条件的每个分支添加了打印语句,并且打印x的值是正确的,但它仍然评估为false。

有帮助吗?

解决方案

有时输入到底获取换行符。尝试剥离它:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top