【PTA-python】第4章-27 二维数组中每行最大值和每行和 (10 分)--max(a[b:c])和sum(a[b:c])的使用
分析
可以直接三行代码,循环遍历输出值。可以借助于
sum()函数和max()函数。
实际上这两个函数的使用可以通过范围表示实现,而不需要一个一个表示。
max(a[i*3:i*3+3]), sum(a[i*3:i*3+3])
另外因为题目固定,还可以通过拆解计算。
a=n[0:3]
b=n[3:6]
d=n[6:9]
sum(a),max(a)
题目
输入格式:
在一行中输入9个小于100的整数,其间各以一个空格间隔
输出格式:
输出3行3列的二维数组,并在每行后面分别输出每行最大值和每行元素的和,每个数据输出占4列。
解法
自解
lst=list(map(int,input().split()))
for i in range(3):
print("{:4d}{:4d}{:4d}{:4d}{:4d}".format(lst[i*3],lst[i*3+1],lst[i*3+2],max(lst[i*3],lst[i*3+1],lst[i*3+2]),lst[i*3]+lst[i*3+1]+lst[i*3+2]))
自解改进
lst=list(map(int,input().split()))
for i in range(3):
print("{:4d}{:4d}{:4d}{:4d}{:4d}".format(lst[i*3],lst[i*3+1],lst[i*3+2],max(lst[i*3:i*3+3]),sum(lst[i*3:i*3+3])))
切片计算
lst=list(map(int,input().split()))
def line(lst=[]):
print("{:4d}{:4d}{:4d}{:4d}{:4d}".format(lst[0],lst[1],lst[2],max(lst),sum(lst)))
a=lst[0:3]
b=lst[3:6]
c=lst[6:9]
line(a);line(b);line(c)
浙公网安备 33010602011771号