0

***私はこれをうまく説明していないので、この編集がより理にかなっていることを願っています: 基本的に、大量のテスト ケースで機能するコードを作成する必要があります。したがって、関数に入力を手動で入力することはできません

次の入力があるとします。

    0
    4
    0,2,2,3

そして、次のような出力を生成する必要があります

    1

これどうやってするの?

つまり、通常問題が発生した場合、関数を定義して値を手動で入力するだけで済みますが、生データを読み取る (データに対して一連の関数/操作を実行する) 方法は?

(割り当てのために、私はSTDINで入力を受け取り、STDOUTで正しい出力を出力することになっています

4

5 に答える 5

2

sys.stdinSTDIN は、 ;で表される単なるファイル (またはファイルのようなオブジェクト)です。通常のファイルのように扱い、そこからデータを読み取ることができます。それを繰り返すこともできます。例えば:

sum = 0
for line in sys.stdin:
    item = int(line.strip())
    sum += item
print sum

あるいは単に

entire_raw_data = sys.stdin.read()
lines = entire_raw_data.split()
... # do something with lines

raw_input()また、 STDIN に送信された連続する行を返すを繰り返し呼び出したり、イテレータに変換したりすることもできます。

for line in iter(raw_input, ''):  # will iterate until an empty line
    # so something with line

これは次と同等です:

while True:
    line = raw_input()
    if not line:
        break
    # so something with line

参照: https://en.wikibooks.org/wiki/Python_Programming/Input_and_output

于 2013-10-05T20:40:33.657 に答える
1

この関数を使用してraw_input()、標準入力から読み取り、必要に応じて処理できます。

于 2013-10-05T20:30:52.383 に答える
1

この raw_input() を使用してください。これは基本的な python 入力関数です。

myInput = raw_input()

生の入力の詳細については、次を参照してください。

http://docs.python.org/2/library/functions.html#raw_input

于 2013-10-05T20:39:37.383 に答える