ACMのPython版入出力

4466 ワード

目次
一、入力部
1.単一サンプル入力
(1)1行だけ入力
2.多様例入力
(1)多様例入力、明確なサンプル数なし
(2)N行を入力する
(3)多様例入力、終了符号指定
(4)N組入力、終了符号指定
3.多様な例の複雑な入力
(1)多様例入力、明確なサンプル数なし
(2)N行を入力する
Reference
一、入力部
1.単一サンプル入力
(1)1行だけ入力
タイトルの説明:
10個の整数を小さいものから大きいものに並べ替えます.
入力:
4 85 3 234 45 345 345 122 30 12
出力:
3 4 12 30 45 
コード:
listt = map(lambda x:int(x), raw_input().split()) #        
listt.sort()  #      
for i in listt :
    print i, #   

注意:python 2.7のコードです. 
2.多様例入力
(1)多様例入力、明確なサンプル数なし
複数の入力データがありますが、どのくらいのグループがあるかは具体的には教えていません.ただ、各グループの入力に対応させ、どのように出力すべきかを教えてくれます.
タイトルの要件:
多様な例は整数のセットを入力し、各グループのデータが1行を占め、各グループのデータには2つの数があり、2つの数の和を出力する必要があります.各結果は1行を占めます.
入力:
1  3
2  4
3  5
出力:
4
6
8
コード:
while True:
    try:
        a, b = map(int, raw_input().strip().split())
        print (a+b)
    except EOFError:
        break

(2)N行を入力する
次に何組のデータがあるかを示す整数を入力し、各データの具体的な値を入力します.
入力
学生数Nは1行を占め、学生ごとに学号、氏名、3科の成績が1行を占め、スペースが分かれている.成績は正の整数
しゅつりょく
各科目の平均成績が最も高い学生のデータ(学号、氏名、3科目の成績を含む)は、平均成績を整数で表す
サンプル入力
2  1 blue 90 80 70  b clan 80 70 60
サンプル出力
85 75 65  1 blue 90 80 70
コード:
tcase = int(raw_input().strip())

def f(x):
    if ord(x[0]) < 90:  #          
        return int(x)
    return x

a = [map(f, raw_input().split()) for i in range(tcase)]
print sum([x[2] for x in a])/tcase, sum([x[3] for x in a])/tcase, sum([x[4] for x in a])/tcase  #      

listt=[sum(x[2:]) for x in a]
maxx=max(listt)
for i in range(tcase):  #         
    if listt[i] ==maxx:
        break
print str(a[i]).replace(', ',' ').replace('\'','')[1:-1]+' '  #        ,       ,    

例を挙げます.
タイトルの要件:
Nグループのデータサンプルを入力し、各グループのデータが1行を占め、各グループのデータには2つの数があり、2つの数の和を出力する必要がある.各結果は1行を占めます.
入力:
3
1 2
2 3
3 4 
出力:
3
5

コード:
tcase = int(raw_input().strip())
for case in range(tcase):
    a, b = map(int, raw_input().strip().split())
    print (a + b)

(3)多様例入力、終了符号指定
複数のグループがデータを入力して、具体的にどのくらいのグループがあるかを教えてくれませんが、テーマは何が終わったかを教えてくれます.
タイトルの要件:
多様な例は、データのセットごとに1行を占め、データのセットごとに2つの数を入力します.2つの数の和を出力することが要求され、各結果は1行を占めます.0を入力すると入力が終了します.
入力:
1 2
3 4
5 6
0 0
出力:
3
7
11
コード:

while True:
    a, b = map(int, raw_input().strip().split())
    if a == 0 and b == 0:
        break
    print (a + b)

(4)N組入力、終了符号指定
入力にはNグループがあり、テーマは各グループの入力が何に出会ったかを教えてくれます.3つ目の違いは、各グループの入力に相応の細分化があることです.
タイトルの要件:
Nグループのデータサンプルを入力し、各グループのデータが1行を占め、各グループのデータには2つの数があり、2つの数の和を出力する必要がある.各結果は1行を占めます.0を入力すると入力が終了します.
入力:
3
1 2
3 4
0 0
出力:
3
7
コード:
tcase = int(raw_input().strip())
for case in range(tcase):
    a, b = map(int, raw_input().strip().split())
    if a == 0 and b == 0:
        break
    print (a + b)

3.多様な例の複雑な入力
(1)多様例入力、明確なサンプル数なし
複数の入力データがあり、各入力データの最初の数は、そのデータのグループを表し、次にデータ量を入力します.
タイトルの説明:
複数のグループのデータサンプルを入力し、各グループのデータが1行を占め、各行の入力に対して、最初の数と他の数に分けられ、最初の数はそのグループのデータが全部でどれだけ入力されているかを表します.他のデータの合計を出力します.
入力:
1 2
2 1 2
3 1 2 3
4 1 2 3 4
出力:
2
3
6
10
コード:
while True:
    try:
        data = map(int, raw_input().strip().split())
        n, array = data[0], data[1:]

        sum = 0
        for i in range(n):
            sum += array[i]
        print (sum)
    except EOFError:
        raise

(2)N行を入力する
今回の入力は整数を入力し、どのくらいの行が入力されているかを教えてくれます.各行の入力については、最初の数と他の数に分けられ、最初の数はそのデータのセットが全部でどれだけ入力されているかを表します.
タイトルの説明:
N組のデータサンプルを入力して、Nは私たちにN行のデータがあることを教えてくれます.各行の入力については、最初の数と他の数に分けられ、最初の数はそのデータのセットが全部でどれだけ入力されているかを表します.他のデータの合計を出力します.
入力:
4
1 2
2 1 2
3 1 2 3
4 1 2 3 4
出力:
2
3
6
10
コード:
tcase = int(raw_input().strip())
for case in range(tcase):
    data = map(int, raw_input().strip().split())
    n, array = data[0], data[1:]

    sum = 0
    for i in range(n):
        sum += array[i]
    print (sum)

Reference
[1] https://www.zybuluo.com/diyer22/note/310572#%E4%BA%8C-%E8%BE%93%E5%85%A5%E9%83%A8%E5%88%86
[2] https://blog.csdn.net/luovilonia/article/details/40860323