问题遇到的现象和发生背景
求各列表最大值的平均数,虽然解答有些暴力,但是这种方法并没有算出正确值,哪里错了
问题相关代码,请勿粘贴截图
list_1 = eval(input())
# Please your code here
list_max = []
for i in list_1:
for k in range(len(i)-1):
imax = i[k]
if i[k+1] >= i[k]:
imax = i[k+1]
else:
pass
list_max.append(imax)
sum = 0
for item in list_max:
sum = sum + item
a = sum / len(list_max)
print('%.2f' % a)
运行结果及报错内容
第一次:
[[1,2,3,4],[2,3,4,5],[3,4,5,6]]
5.00
第二次:
[[4,2,3,1],[5,3,4,2],[6,4,5,3]]
4.00
第三次:
[[54, 28, 88, 99, 77],[99, 6, 37, 68, 83],[90, 52, 36, 4, 53],[85, 66, 11, 11, 61],[20, 52, 9, 81, 61],[23, 67, 37, 39, 18],[21, 36, 66, 80, 30],[74, 80, 5, 7, 96],[30, 35, 71, 73, 4],[40, 67, 67, 11, 71]]
73.60
我的解答思路和尝试过的方法
前两次只是列表中的顺序改变,结果却不一样
思路:用循环遍历列表,找出该列表最大值并加入创建的空列表中,最后求和求平均值
我想要达到的结果
[[54, 28, 88, 99, 77],[99, 6, 37, 68, 83],[90, 52, 36, 4, 53],[85, 66, 11, 11, 61],[20, 52, 9, 81, 61],[23, 67, 37, 39, 18],[21, 36, 66, 80, 30],[74, 80, 5, 7, 96],[30, 35, 71, 73, 4],[40, 67, 67, 11, 71]]
84.10
最终求这个列表的结果,正确答案是:84.10