这种解法有点理解不了,请问有简单一点的办法吗

img


分别输入 10 个评委的分数,如果分数不在 0-100 的范围则提示“分数不合法”
不加入统计,否则加入统计。统计时,如果剩下的分数数量在 3 个以上则去掉一
个最高分和去掉一个最低分(同分的只删除一个),求出平均分为最后的分数

lt = [] #空列表,用来存放输入的分数
while True: #循环输入分数
    s = input("输入一个分数:")
    if s.isdigit() and 0 <= eval(s)<= 100: #isdigit判断输入是否是数字,eval返回s的值,判断是否在[0,100]区间
        lt.append(eval(s)) ##合法分数则添加到列表
    else :
        print("分数不合法") ##不合法则直接打印提示
    if len(lt) == 10: ##列表长度达到10,则退出while循环
        print("输入完毕!!")
        break
print(lt) ##打印列表全部值
max_Num = max(lt) #找出列表中的最大值
min_Num = min(lt) #找出列表中的最小值
lt.remove(max_Num)#移除列表中的最大值
lt.remove(min_Num)#找出列表中的最小值
print(lt)##打印列表剩余值
avg = sum(lt) / len(lt) #列表剩余数字的和 / 列表剩余长度 = 平均数
print(avg)##打印平均数
lt = []
for i in range(10): #循环10次,输入数字
    s = input("输入一个分数: ")
    if s.isdigit() and 0 <= eval(s) <= 100:  #判断输入的值是否合法
        lt.append(eval(s)) #如果合法把值放入数组
    else:
        print("分数不合法")
if len(lt) > 3: #如果剩余的数字在3个以上
    lt.remove(max(lt))  #去掉一个最大值
    lt.remove(min(lt))  #去掉一个最小值
avg = sum(lt)/len(lt)  #计算平均值
print(avg)   #打印平均值