python3 輸入輸出

2020-08-08 13:10:17

python3 可使用input() 和sys.stdin函數進行輸入,考慮單行多行輸入情況,舉以下幾個簡單例子

計算a+b(已知n行)

輸入描述:
輸入第一行包括一個數據組數t(1 <= t <= 100)
接下來每行包括兩個正整數a,b(1 <= a, b <= 10^9)
輸出描述:
輸出a+b的結果
輸入
2
1 5
10 20
輸出
6
30

使用sys.stdin的方法
import sys
t=int(sys.stdin.readline().strip())
for i in range(t):
    line=sys.stdin.readline().strip().split(' ')
    sum=int(line[0])+int(line[1])
    print(sum)
#使用input()的方法
n=int(input())
for i in range (n):
    a,b=map(int, input().split())
    c=a+b
    print(c)

計算a+b(不知道幾行,輸入0 0結束)

輸入描述:
輸入包括兩個正整數a,b(1 <= a, b <= 10^9),輸入數據有多組, 如果輸入爲0 0則結束輸入
輸出描述:
輸出a+b的結果
範例1
輸入
1 5
10 20
0 0
輸出
6
30

import sys
while True:
    line=sys.stdin.readline().strip().split()
    if int(line[0])==0 and int(line[1])==0:
        break
    print(int(line[0])+int(line[1]))
while True:
    a,b=map(int,input().strip().split())
    if a==0 and b==0:
        break
    print(a+b) 

計算一系列數的和(不確定輸入行數,輸入0結束)

輸入描述:
輸入數據包括多組。
每組數據一行,每行的第一個整數爲整數的個數n(1 <= n <= 100), n爲0的時候結束輸入。
接下來n個正整數,即需要求和的每個正整數。
輸出描述:
每組數據輸出求和的結果
輸入
4 1 2 3 4
5 1 2 3 4 5
0
輸出
10
15

while True:
    a=list(map(int,input().strip().split()))
    if a[0]==0:
        break
    print(sum(a[1:]))
import sys
while True:
    line=sys.stdin.readline().strip()
    a=list(map(int,line.split()))              #python3 map返回迭代器,python2返回陣列
    if a[0]==0:
        break
    print(sum(a[1:]))

計算一系列數的和(定義輸入行數n)

輸入描述:
輸入的第一行包括一個正整數t(1 <= t <= 100), 表示數據組數。
接下來t行, 每行一組數據。
每行的第一個整數爲整數的個數n(1 <= n <= 100)。
接下來n個正整數, 即需要求和的每個正整數。
輸出描述:
每組數據輸出求和的結果
輸入
2
4 1 2 3 4
5 1 2 3 4 5
輸出
10
15

import sys
t=int(sys.stdin.readline().strip())
for i in range(t):
    line=sys.stdin.readline().strip()
    a=list(map(int,line.split()))
    print(sum(a[1:]))
t=int(input())
for i in range(t):
    a=list(map(int,input().strip().split()))
    print(sum(a[1:]))

計算一系列數的和(不確定輸入行數)

輸入描述:
輸入數據有多組, 每行表示一組輸入數據。
每行的第一個整數爲整數的個數n(1 <= n <= 100)。
接下來n個正整數, 即需要求和的每個正整數。
輸出描述:
每組數據輸出求和的結果
輸入
4 1 2 3 4
5 1 2 3 4 5
輸出
10
15

while True:
    try:
        a=list(map(int,input().strip().split()))
        print(sum(a[1:]))
    except:
        break
import sys
for line in sys.stdin:
    a=list(map(int,line.strip().split()))              #python3 map返回迭代器,python2返回陣列
    print(sum(a[1:]))

對輸入的字串進行排序後輸出(第一行n,第二行n個字串)

輸入描述:
輸入有兩行,第一行n
第二行是n個空格隔開的字串
輸出描述:
輸出一行排序後的字串,空格隔開,無結尾空格
輸入
5
c d a bb e
輸出
a bb c d e

import sys
n=int(sys.stdin.readline())
l=sys.stdin.readline().split()
print(' '.join(sorted(l)))
l = int(input())
a = sorted(input().split())
print(' '.join(a))

對輸入的字串進行排序後輸出(多行字串分別排序)

輸入描述:
多個測試用例,每個測試用例一行。
每行通過空格隔開,有n個字元,n<100
輸出描述:
對於每組測試用例,輸出一行排序過的字串,每個字串通過空格隔開
範例1
輸入
a c bb
f dddd
nowcoder
輸出
a bb c
dddd f
nowcoder

while True:
    try:
        a=input().strip().split()
        print(' '.join(sorted(a)))
    except:
        break
import sys
for line in sys.stdin:
    a=line.strip().split()
    print(' '.join(sorted(a)))

對輸入的字串進行排序後輸出(輸入輸出用‘,’分隔)

輸入描述:
多個測試用例,每個測試用例一行。
每行通過,隔開,有n個字元,n<100
輸出描述:
對於每組用例輸出一行排序後的字串,用’,'隔開,無結尾空格
輸入
a,c,bb
f,dddd
nowcoder
輸出
複製
a,bb,c
dddd,f
nowcoder

while True:
    try:
        a=input().split(',')
        print(','.join(sorted(a)))
    except:
        break
import sys
for line in sys.stdin:
    a=line.strip().split(',')
    print(','.join(sorted(a)))