3

私が働いている場所にはPythonコンパイラがないので、オンラインでプログラムをテストしたいと思います。ideone、codepad、complieonline などの多くのオンライン サイトがあります。しかし、codepad は入力データを受け入れないことに気付きました。入力データは ideone ですが、一度に 1 つのエントリ データしか受け入れません。たとえば、このプログラムをcomplileonlineでテストしたかった

PREFIX = 'Simon says '

line = raw_input('Enter: ')
while line:
    if line.startswith(PREFIX):
        print line[len(PREFIX):]
    line = raw_input('Enter: ')

入力を入力し、それらをパイプラインで分離しました (Web サイトの説明に記載されているように) が、このエラー メッセージが表示され続けました

Executing the code....
$python /tmp/135731949523855.py 
Enter: Enter: Enter: Traceback (most recent call last):
File "/tmp/135731949523855.py", line 9, in ?
line = raw_input('Enter: ')
EOFError: EOF when reading a line

プログラムをテストするために複数のエントリを入力するにはどうすればよいですか? これらのオンライン Web サイトに複数のエントリを入力するにはどうすればよいですか。それ以外の場合は、ユーザー入力を必要とせずにコードでテストする別の例があります。

4

1 に答える 1

2

コード内でハードコーディングされた入力を使用することを検討してください (「raw_input」関数を、ユーザーから取得する以外の何かに変えてください)。それは素晴らしい解決策になる可能性があります。

raw_input にかなり近いオプションの 1 つは、sys.argv を使用することです。

import sys
print sys.argv[1]

Compileonline は、コードの下に、コマンド ライン引数を追加するオプションを提供します。

ただし、PythonAnywhere.com では、コードは問題なく動作するようです :) そこで試してみてください。

幸運を:)

于 2013-01-05T00:46:57.077 に答える