2017-05-05 46 views
0

我嘗試使用下面的代碼來解決問題:EOF閱讀競爭網站一行時,即代碼廚師

X,Y = map(float, input().split()) 

if X < Y and not X % 5: 
    print(Y - X - 0.50) 
else: 
    print(Y) 

此代碼給我所需要的輸出,當我運行使用閒置。然而,當我嘗試使用具有競爭力的編程網站提供的翻譯運行此代碼,我得到以下錯誤:

Traceback (most recent call last): 
    File "./prog.py", line 1, in <module> 
EOFError: EOF when reading a line 

我想讀的其他類似問題的答案,但沒有人似乎工作的我案件。

+0

也許解釋不傳遞任何信息,標準輸入,讓你的'input'調用失敗得到任何東西。你確定你應該通過輸入獲得X和Y嗎?也許他們實際上是命令行參數或其他東西。什麼競爭性的編程網站是這個,具體是? – Kevin

+0

沒有問題的實際樣本,很難說。嘗試通過解耦輸入過程來調試:獲取一行輸入,檢查其內容的有效性,打印行等。查看哪種輸入會導致程序崩潰。它可能與在文件末尾識別空行一樣簡單。 – Prune

+0

什麼是函數調用'input()'?那應該是標準的python 3.x ['input()'](https://docs.python.org/3/library/functions.html?highlight=input#input)?也許需要把這條線拉出來,然後第一個'user_input = input()。split()'並獲得第一個結果,然後將該用戶輸入傳遞給'map(float,user_input)' – davedwards

回答

0

競爭節目的網站很可能運行蟒蛇2. Python的2對待input()不同於蟒蛇3.

你還是使用raw_input()不是input()

從文檔:

raw_input() reads a line from input, converts it to a string (stripping a trailing newline), and returns that.

您的問題可以從什麼來解釋解釋here

In Python 2, raw_input() returns a string, and input() tries to run the input as a Python expression.

+0

您可以選擇使用哪種語言來運行它。所以,不,這不是問題。我明確地在Python 3.4中運行它 – user3632345

+0

您是否使用codechef上的「自定義輸入」功能提供輸入? 我沒有遇到任何問題,提供:'1 2' – Hafager

+0

自定義工作正常。只是不是他們的投入。在編譯器 – user3632345

0

再看一下的codechef頁面。注意標記爲「自定義輸入」的複選框。通過選中/打勾的文本框將打開您可以放置​​輸入行的位置。

codechef image