2014-04-15 50 views
1

我正在使用Zed Shaw's 瞭解Python的艱辛之路Python EOF錯誤raw_input()

在練習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上,谷歌和黑客新聞論壇。我找不到任何答案(a)解決了這個問題,(b)我能理解。

我在ideone.com上使用python編譯器(也嘗試了兩種其他在線編譯器,都沒有工作)。 (請閱讀但不能應用:Python EOF Error in raw_input())。

+0

是的,在線翻譯幾乎沒有爲這種事情工作。你爲什麼不下載IDE? –

+0

謝謝亞歷克斯,會這樣做! 我喜歡在任何地方輕鬆訪問編譯器中代碼的想法。 猜猜我可以使用Dropbox等。 – koopertrooper

回答

3

問題是,在線解釋器通常不會暫停以允許用戶輸入內容。相反,他們將使用從中讀取數據的固定「文件」stdin。除非你指定它,否則它將是空的,所以要求輸入將導致EOF,因爲(空)文件已經用盡。

雖然可以指定輸入數據。在ideone上,您必須點擊stdin按鈕並一次輸入數據。例如:

old 
tall 
weight 

然後您的腳本will run

但是你真的應該考慮自己下載Python並且在命令行中用普通的解釋器運行它。這樣,你實際上獲得了一些互動。