2017-05-05 4 views
0

私は、次のコードを使用して問題を解決しようとしている:EOF、すなわちコードシェフ

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

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

私はIDLEを使用して実行すると、このコードは私に所望の出力を提供します。私は競争力のあるプログラミングのウェブサイトが提供するインタプリタを使用してこのコードを実行しようとすると、しかし、私は次のエラーを取得する:

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

競争力のあるプログラミングのウェブサイトは、おそらくあなたは、むしろinput()よりraw_input()を使用する必要がありますinput()異なっパイソン3.

よりパイソン2. Pythonの2お菓子を実行しています。ドキュメントから

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

カスタムはうまく動作する。ちょうど彼らの入力はありません。参照のためには、コンパイラの問題コードHS08TESTを使用してください。 – user3632345

0

はcodechefページをもう一度見てください。 「カスタム入力」と書かれたチェックボックスに注目してください。チェック/チックで、入力行を置くことができるテキストボックスが開きます。

codechef image

関連する問題