40894


どうも、競技プログラムで、Python3を使っているkeito940です。  
[このサイト](https://qiita.com/lethe2211/items/6cbade2bc547649bc040#%E8%A4%87%E6%95%B0%E8%A1%8C%E7%89%B9%E5%AE%9A%E3%81%AE%E6%95%B4%E6%95%B0%E3%82%92%E5%8F%97%E3%81%91%E4%BB%98%E3%81%91%E3%82%8B%E3%81%BE%E3%81%A7%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%E3%81%AB1%E3%81%A4%E3%81%AE%E6%95%B4%E6%95%B0%E3%81%AE%E5%85%A5%E5%8A%9B)に方法が書かれていないので質問させていただきます。  
C++の場合は、

[code]

    #include <iostream>
    using namespace std;    
    
    void main() {
        int a,b
        while(a,b != EOF){
        cin >> a >> b >>endl;
        }
    cout << a << b << endl;
    return 0;
    }
    
[/code]

でしたが、Python3の場合はどうなるのでしょうか？

追記:デバッグなどに対応させたい時は、[この記事](https://ja.stackoverflow.com/questions/40908/debugconsolestdin%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%ae%e5%8e%9f%e5%9b%a0%e3%81%8c%e3%82%8f%e3%81%8b%e3%82%89%e3%81%aa%e3%81%84)も合わせてみてください。


CC BY-SA 3.0
2018-01-09T06:22:29.003
40830
2018-01-14T06:16:55.040
2018-01-14T06:16:55.040
26886
26886
question
python python3
Pythonで競技プログラムをする時、複数行（入力の終了まで）でなおかつ一行にスペース区切りでデータを入力する時はどうすればいいのでしょうか？

[code]

    print("a", "b", "c" )
    
[/code]

> a b c

こういう感じですか？次のように改行をなくすのも出来るそうです。

[code]

    print("a", "b", "c", sep = "")
    
[/code]

> abc
[code]

    print(
    '''
    a
    b
    c
    '''
    )
    
[/code]

> a  
>  b  
>  c

縦はこんな感じですか。print()のみだと。

[code]

    def suiheinumber():
        columns = int(input());
        i = 0;
        for i in range(columns):
            print(i, end = " ") //" "でスペースを作成。
    suiheinumber()
    
[/code]

> 5 // 任意の入力された数  
>  0 1 2 3 4 // iの出力結果。

(end = "")抜きだと新しい列に。

> 5  
>  0  
>  1  
>  2  
>  3  
>  4

あとは複数行をinput()で一列の文字列を" "で区切るという事ですか。参照のページにも書いてあったので、これも違いますか？

[code]

    a = "A B C"
    a = a.split(" ")
    print(a)
    ['A', 'B', 'C']
    
[/code]


CC BY-SA 3.0
2018-01-09T14:00:23.587
40844
2018-01-11T12:48:51.110
2018-01-11T12:48:51.110
25766
25766
40830
answer


# 回答

## とりあえずスペース区切り入力文字をデータに変換する処理

[code]

    from sys import stdin
    
    for line in stdin:
      a = line.rstrip().split(' ')
      print(a)
    
[/code]

## 扱いやすいように2次元配列として持つ方法

[code]

    from sys import stdin
    
    l = []
    for line in stdin:
      a = line.rstrip().split(' ')
      l.append(a)
    print(l)
    
[/code]

# 参考

[file - What is the perfect counterpart in Python for "while not EOF" - Stack
Overflow](https://stackoverflow.com/questions/15599639/what-is-the-perfect-
counterpart-in-python-for-while-not-eof)  
[How can I remove (chomp) a trailing newline in Python? - Stack
Overflow](https://stackoverflow.com/questions/275018/how-can-i-remove-chomp-a-
trailing-newline-in-python)


CC BY-SA 3.0
2018-01-11T23:07:32.030
40894
2018-01-11T23:32:39.867
2018-01-11T23:32:39.867
9008
9008
40830
answer