2012-04-15 82 views
2

我在Python 3.2.2中写了一个小文本冒险,并将.py文件发送给使用mac的朋友。var = input(“按任意键继续”) - 为什么这不起作用?

他在下载最新的雪豹python后运行代码,直到代码行结束:var = input(“按任意键继续”)。之后,它就停留在那条线上,不会产生任何错误或做任何事情,除非他键入任何内容时什么都没有发生。他输入的字符出现在提示符处,但该程序从未向前移动。

然后,我用cx_freeze冻结了程序并将它发送给正在运行Windows XP(和我一样)的姐姐,她也遇到了同样的问题。游戏装得很好,直到那条线。

我在做什么错?

谢谢!

回答

2

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

关于行为变化的背景,请参见PEP 3111

+0

我刚刚意识到。哇,现在感觉像个疯子。谢谢。 – user1311674 2012-04-15 16:36:36

+0

详细说明:'input()'只有在获得一整行输入时才进行,即按回车键。如果你想一次获得一个角色,你需要以另一种方式来完成。 – 2012-04-15 16:36:43

+0

on python 2.7.2只需在输入上输入就会产生一个:“SyntaxError:解析时意外的EOF”是否与Python 3k中的行为不同? – luke14free 2012-04-15 16:39:46

相关问题