用循环输入5个数(95.80.86.89.94)存储到列表,去掉一个最高分,去掉一个最低分,求平均分(不得使用内置函数max,min,avg,sum等)。打印格式为:去掉最高分XX分,去掉最低XX分,平均分为XX分。
scores = [95, 80, 86, 89, 94]
max_score = scores[0]
min_score = scores[0]
max_index = 0
min_index = 0
# 找到最高分和最低分的下标
for i in range(len(scores)):
if scores[i] > max_score:
max_score = scores[i]
max_index = i
if scores[i] < min_score:
min_score = scores[i]
min_index = i
# 删除最高分和最低分
scores.pop(max_index)
scores.pop(min_index - 1 if max_index > min_index else min_index)
# 计算平均分
total_score = 0
for score in scores:
total_score += score
avg_score = total_score / len(scores)
# 打印结果
print("去掉最高分{}分,去掉最低{}分,平均分为{}分".format(max_score, min_score, avg_score))
scores = []
for i in range(5):
score = int(input("请输入第{}个分数:".format(i+1)))
scores.append(score)
min_idx, max_idx = 0, 0
for i in range(1, 5):
if scores[i] < scores[min_idx]:
min_idx = i
elif scores[i] > scores[max_idx]:
max_idx = i
scores.pop(max_idx)
scores.pop(min_idx)
total_score = 0
for score in scores:
total_score += score
avg_score = total_score / len(scores)
print("去掉最高分{}分,去掉最低{}分,平均分为{}分".format(scores[max_idx], scores[min_idx], round(avg_score, 2)))
lst = []
for i in range(5):
n = int(input('请输入第%d个数:' % (i+1)))
lst.append(n)
# 找到最高分和最低分
m = lst[0]
mi = lst[0]
for s in lst:
if s > m:
m = s
if s < mi:
mi = s
# 去掉最高分和最低分
lst.remove(m)
lst.remove(mi)
# 计算平均分
total = 0
for s in lst:
total += s
avg = total / len(lst)
# 打印输出
print('去掉最高分%d分,去掉最低%d分,平均分为%.2f分。' % (m, mi, avg))