题目描述:
计算若干整数的和。本系列是A+B问题的最后一题。
输入描述:
输入的第一行为一个整数N,接下来N行每行先输入一个整数M,然后在同一行内输入M个整数。
比如:
3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3
输出描述:
对于每组输入,输出M个数的和,每组输出之间输出一个空行。
比如
(不输出)
10
(空行)
15
(空行)
6
提示信息
注意以上样例为一组测试数据,后端判题会有很多组测试数据,也就是会有多个N的输入
例如输入可以是:
3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3
3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3
输出则是
10
15
6
10
15
6
只保证每组数据间是有空行的。但两组数据并没有空行
本题是前面几道题的综合,不涉及新的语法知识点,这节课内容可以当做是前几节课的练习,可以从这节课中学会如何根据题目要求控制输出格式。
初步设想:
前面提过,测试数据不止一组。所以开始的时候,要确认本组数据有几行。和第二题类似。
while True:
try:
# N 表示该组测试数据有n行
N = int(input())
# 遍历 n 行测数据
for i in range(N):
except:
break
接下来的情况和A+B 4类似,
n_input = input('请输入本行的数据(第一个数字为后面元素的总个数)').split()
N = int(n_input[0])
n_input_new = list(map(int,n_input[1:]))
total = sum(n_input_new)
print('和为',total)
完整代码如下:
def calculate():
while True:
try:
row = int(input('请输入该组测试数据,有几行')) # 表示该组测试数据有row行
for i in range(row):
n_input = input('请输入本行的数据(第一个数字为后面元素的总个数)').split()
N = int(n_input[0])
n_input_new = list(map(int,n_input[1:]))
total = sum(n_input_new)
print('和为',total)
# 控制输出一个空行,每组数据的最后一行不输出
if i < row-1:
print('空行')
except:
break