python求平均值

一串系列要去掉最大的和第二大的 最小的和第二小的 求最大值最小值和平均值怎么求

img

存列表中,然后对列表排序后,去掉最大的和第二大的 最小的和第二小的。

list=[]
while True:
    str=input('Enter a number (blank to exit):')
    if not str:
        break
    list.append(int(str))
max=list[2]
min=list[2]
sum=0
for i in range(2,len(list)-2):
    if(list[i]>max):
        max=list[i]
    if(list[i]<min):
        min=num
    sum+=list[i]
print('Minimum:',min)
print('Maximum:',max)
print('Mean:',round(sum/(len(list)-4),2))

img

你题目的解答代码如下:

li = []
while True:
    s = input('Enter a number (blank to exit):')
    if s == "":
        break
    li.append(int(s))
li.remove(max(li)) #去掉最大的
li.remove(max(li)) #去掉第二大的
li.remove(min(li)) #去掉最小的
li.remove(min(li)) #去掉第二小的
print(f'Minimum: {min(li):.1f}')
print(f'Maximum: {max(li):.1f}')
print(f'Mean: {sum(li)/len(li):.1f}')

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

这样?

img

numbers = 0
lst = []    # 列表长度要大于等于4
while True:
    number = input("输入数字(按换行退出):")
    if number != "":
        lst.append(int(number))
    else:
        break
lst.sort()
lst.remove(lst[0])
lst.remove(lst[0])
lst.pop()
lst.pop()
print(sum(lst)/len(lst))  # 求平局值


首先进行排序,去掉前两个 和末尾后两个 然后 求和就可以了