苦 ACM 输入结构久矣,现在调试的还不太好,苦兮兮
print(' '*(n-i),end='')
print默认 end = '\n',也就是换行,end = '' 不换行
1、多行输入,每行两个数
import sys
for line in sys.stdin:
a,b = line.split()
print(int(a) + int(b))
2、多组数据,每组第一行为n,之后输入n行两个整数
import sys
while 1:
try:
N = int(input())
for i in range(N):
list = list(map(int,input().split()))
print(sum(list))
expect:
break
3、若干行输入,每行输入两个整数,遇到特定条件终止
import sys
while True:
s = input().split()
a,b = int(s[0],s[1])
if not a or not b:
break
print(a+b)
4、若干行输入,遇到0终止,每行第一个数为N。表示本行后边有N个数
import sys
for line in sys.stdin:
nums = line.split()
nums = list(map(int,nums))
n = nums[0]
if not n:
break
print(sum[-n:]))
5、若干行输入,每行包括两个整数,有空格分隔,每行输出后接一个空行
while True:
try:
x,y = map(int,(input().split()))
print(x+y)
print()
except:
break
6、多组n行数据,每行先输入一个整数N,然后再同一行输入M个整数,每组输出之间输出一个空行
while 1:
try:
N = int(input())
for i in range(N):
list_n = list(map(int,input.split())
if n[0] == 0:
print()
continue
print(sum(n[1:]))
if i < N-1:
print()
except:
break
7、多组测试样例,每组输入数据为字符串,字符用空格分割,输出为小数点后两位
练习题:7. 平均绩点
while 1:
try:
n = input().replace(" ","").replace("A","4").replace("B","3").replace("C","2").replace("D","1").replace("F","0")
s = 0
for i in n:
if i not in '43210':
print('unknown')
break
8、多组测试用例,第一行为正整数n,第二行为n个正整数,n=0时,结束输入,每组输出结果的下面都输出一个空行。
while 1:
try:
n = int(input())
if n == 0:
break
list1 = list(map(int,input().split()))
for i in list1:
print(moves//2)
print()
开始进阶
9、多组测试数据,每组输入一个整数n,输出特定的数字图形
while True:
try :
n = int(input())
for i in range(1,n+1):
print(' '*(n-i),end='')
print(''.join(map(str,range(1,i+1))) + ''.join(map(str,range(i-1,0,-1))) )
for i in range(n-1,0,-1):
print(' ' *(n-i),end='')
10、有树有图的输入就稍微麻烦点,后续有精力再补充