1

我有一个由 3 个文件和 2 个包组成的脚本。当我在 IDLE 中或通过命令行运行脚本时,它会完美执行。我使用 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() 转换器添加到输入函数以查看它是否有帮助,但没有。无论我输入“yes”还是“y”,条件仍然评估为假,我不知道为什么。我还在条件的每个分支中添加了打印语句,为 x 打印的值是正确的,但它仍然评估为 false。

4

1 回答 1

0

有时输入最后会得到一个换行符。尝试剥离它:

x = input("Continue? ").strip()
于 2012-05-25T16:38:32.453 回答