1
输入描述:输入包括两个正整数a,b,输入数据包括多组
输出描述:输出a+b的结果
示例:
输入:
1 5
10 20
输出:
6
30
解法一:(错误解法)
while True:
a,b=map(int,input().split())
print(a+b)
解法二
while True:
try:
a,b=map(int,input().split(' '))
print(a+b)
except:
break
2
解法一:错误解法
错误原因在于无需使用 while True
while True:
n=int(input())
for _ in range(n):
a,b=map(int,input().split())
print(a+b)
解法二
while True:
try:
n=int(input())
for _ in range(n):
a,b=map(int,input().split())
print(a+b)
except:
break
解法三
n = int(input().strip())
for _ in range(n):
nums=[int(c) for c in input().split()]
print(sum(nums))
解法四
n=int(input().strip())
for _ in range(n):
a,b=map(int,input().split())
print(a+b)
3
解法一
while True:
a,b=map(int,input().split())
if a==0 and b==0:
break
print(a+b)
4
解法一
while True:
nums = [int(c) for c in input().split()]
if nums[0] == 0: break
print(sum(nums[1:]))
解法二
while True:
s = input()
if s == "0":
break
else:
a = [int(i) for i in s.split()]
print(sum(a[1:]))
5
解法一
n = int(input())
for _ in range(n):
x = [int(x) for x in input().split()]
print(sum(x[1:]))
解法二
while True:
try:
t = int(input())
for i in range(t):
n = list(map(int,input().split()))
sum = 0
for j in n:
sum = sum + j
print(sum-n[0])
except:
break
解法三
n = int(input())
for i in range(n):
print(sum(list(map(int, input().split()))[1:]))
6
解法一
while True:
try:
nums = list(map(int, input().split()))
print(sum(nums[1:]))
except:
break
解法二: 错误解法
注意,此处说一下这里为何需要 try except。原因在于 1<=n。当n为0时,后面的split()函数便会报错。第 7 题必须使用try execpt函数的原因也是如此。
while True:
x = [int(x) for x in input().split( )]
print(sum(x[1:]))
正确解法:
while True:
try:
x = [int(x) for x in input().split( )]
print(sum(x[1:]))
except:
break
7
解法一
while True:
try:
nums = [int(x) for x in input().split( )]
print(sum(nums))
except:
break
解法二
while True:
try:
nums=list(map(int,input().split()))
print(sum(nums))
except:
break
温馨提示,这道题如果不加try except则又会报错。
8
n = int(input())
a = []
nums = 0
for _ in range(n):
a.append(list(map(int, input().rstrip().split())))
for i in range(n):
nums += sum(a[i])
print(nums)#思路是将输入数据都加到一个列表中,最后会得到一个二维列表,再遍历并对这个二维列表求和即可。
9
输入描述:
多组测试数据,第一行输入一个正整数T,代表测试数据组数。
对于每组测试数据,输入两个正整数n。n代表接下来共有几行数据。
输出描述:
每组数据的和。
示例:
输入:
2
3
1 2
2 3
3 4
4
1 2
2 3
3 4
4 5
输出描述:
15
24
N = int(input())
for _ in range(N):
n = int(input())
a = []
for i in range(n):
a.append(list(map(int, input().split())))
print(sum(map(sum, a)))#对二维列表求和的语句,一行代码搞定
总结
什么时候用while True:
当每输入一行,则需要输出一行,且不固定多少行输入时,则需使用while True语句。参考
2
题型。
什么时候需要使用try except语句
参考
6
和
7
。