749937022 发表于 2020-10-13 20:00:08

求帮



3038. C快乐比赛的雷雷

雷雷参加主持人比赛,并接受n名老师的评分,评分范围是0到100分之间的整数。

雷雷的得分就是这些老师给分中去掉一个最高分,去掉一个最低分,剩下m一2个老师的平均数(平均数保留2位小数)。请问雷雷得分是多少?

输入描述:

第一行,输入一个正整数n(3<n<20)代表老师的个数。

第二行,输入n个整数,代表每位老师对雷雷的打分。

输出描述:

输出一个数表示雷 雷的得分,结果

留2位小数。



3011204040样例输出

30.00

它制台

不能懒 发表于 2020-10-13 21:03:58

import random
n = int(input("输入一个正整数n(3<n<20)代表老师的个数:"))
a = []
for i in range(n):
    b = random.randint(0,100)
    a.append(b)
a.sort()
print(a)
fenshu = (sum(a)-a-a[-1])/(n-2)
print("雷雷的得分为%.2f" % fenshu)

Love_wings 发表于 2020-10-13 22:22:11

import random
n = int(input("请输入老师人数:"))
score = []
for i in range(n):
    b = int(input("请输入评分:"))
    score.append(b)
print("老师给出的分数分别为:"+str(score))
score.sort()
valid_score = sum(score)-score-score[-1]
print("雷雷的有效得分总和是:%d" % valid_score)
average_score = valid_score / (n-2)
print("雷雷的得分是:%.2f" % average_score)

笨鸟学飞 发表于 2020-10-14 20:52:06

print('本程序输入“exit”退出,程序可自动重复运行')
while True:
    num_teacher = input('请输入老师的个数:')
    if num_teacher.casefold() == "exit":   #检测是否输入退出指令
      print("游戏结束")
      break
    if not num_teacher.isdigit():
      print("老师个数输入有误,应为正整数")
      continue
    num_teacher = int(num_teacher)
    if not 3<num_teacher<20:
      print('老师个数输入有误,应大于3小于20')
      continue
    print('请输入每位老师的打分,以空格隔开,如98 95:',end='')
    num = input()
    if num == "exit":       #检测是否输入退出指令
      print("游戏结束")
      break
    temp = num.replace(" ","")    #删除空格后检测是否全为数字
    if not temp.isdigit():
      print('分数输入有误,只能为正整数')
      continue
    num = num.split()
    for each in range(len(num)):
      num = int(num)   
    if len(num) != num_teacher:    #检测老师个数和分数是否匹配
      print('分数输入有误,老师个数和分数个数不匹配')
      continue
    num.sort()
    num.pop()
    del num
    temp = 0
    for each in num:
      temp +=each
    # temp = temp / (num_teacher - 2)
    print('雷雷的得分是:%.2f' % (temp / (num_teacher - 2)))
================
按你要求的第1行、第2行输入,以及输出。加了重复执行以及退出代码,和输入合法性检测
页: [1]
查看完整版本: 求帮