【问题标题】:var = input("Press any key to continue") - Why does this not work?var = input("Press any key to continue") - 为什么这不起作用?
【发布时间】:2012-04-27 04:14:44
【问题描述】:

我在 Python 3.2.2 中写了一个小文本冒险,并将 .py 文件发送给使用 mac 的朋友。

他在下载了最新的雪豹python后运行了代码,它运行正常,直到代码中的行:var = input("press any key to continue")。之后它就停留在该行,没有产生任何错误或做任何事情,除了当他输入任何东西时什么都没有发生。他输入的字符出现在提示符处,但程序始终没有前进。

然后我使用 cx_freeze 冻结了程序并将其发送给正在运行 windows xp 的姐姐(我也是),她也遇到了同样的问题。游戏加载正常,直到该行。

我做错了什么?

谢谢!

【问题讨论】:

    标签: python input osx-snow-leopard


    【解决方案1】:

    他们可能正在使用python 2.x,并且需要按回车键。 input 需要 输入,而不是单个字符。 input 函数在 2.x 和 3.x 之间发生了根本性的变化,你看到的行为与 python 2.x 一致。

    有关行为变化的背景,请参阅PEP 3111

    【讨论】:

    • 我才意识到。哇,现在感觉自己像个疯子。谢谢。
    • 详细说明:input() 仅在获得整行输入后才会继续,即按回车键。如果您想一次获得一个角色,则需要另一种方式。
    • 在 python 2.7.2 上按下输入键会产生:“SyntaxError: unexpected EOF while parsing”在 python 3k 中的行为有什么不同吗?
    • 危险,威尔罗宾逊! Python 2 input() 和 Python 3 input() 是不同的野兽。
    • @Li-aung Yip:你是对的。我不知何故错过了原始代码提到 python 3.2.2 的部分。我更改了答案,以更好地反映该用户及其朋友可能发生的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多