1

我正在使用 Zed Shaw 的Learn Python the Hard Way

在练习 11 中,代码在第 2 行产生了EOF错误。代码如下:

1  print "How old are you?",
2  age = raw_input()
3  print "How tall are you?",
4  height = raw_input()
5  print "How much do you weigh?",
6  weight = raw_input()
7  print "So, you're %r old, %r tall and %r heavy." % (
       age, height, weight)

我搜索过 StackOverflow、Google 和 Hacker News 论坛。我找不到任何答案(a)解决了这个问题,(b)我能理解。

我在 ideone.com 上使用 python 编译器(也尝试了其他两个在线编译器,但都没有工作)。

(阅读此内容但无法应用:raw_input() 中的 Python EOF 错误)。

4

1 回答 1

4

问题是在线解释器通常不会暂停以允许用户输入内容。相反,他们将使用一个固定的“文件”stdin来读取数据。除非您指定它,否则它将是空的,因此要求输入将导致 EOF,因为(空)文件已经用尽。

但是可以指定输入数据。在ideone上,您必须单击stdin按钮并立即输入数据。例如:

old
tall
weight

然后您的脚本将运行

但是你真的应该考虑自己下载 Python 并使用普通解释器在命令行中运行它。这样,您实际上可以获得一些交互性。

于 2014-04-15T09:30:50.340 回答