决赛现场成绩计算&学生成绩管理
'''
决赛现场成绩计算&学生成绩管理
coding: utf-8
author: Mr king
time:2022.11.25
version: 1.0
'''
'''
(1)决赛现场成绩计算
'''
#去掉最高分和最低分 以及计算最终得分
def k():
s.remove(max(s))
s.remove(min(s))
total = 0
for ele in range(0,len(s)):
total = total + s[ele]
g = total/len(s)
return g
s = []
def homework1():
rs = int(input("请输入评委人数:"))
print("信息:本次比赛的评委人数为:{}".format(rs))
for m in range(1,rs+1):
s.append(int(input(f"请输入第{m}位评委的评分:")))
print(f"共{m}位评委,评分依次为:{s}")
print(f"去掉一个最高分:{max(s)},去掉一个最低分{min(s)},本场比赛该选手最终得分为{k():.2f}")
'''
(2)学生成绩管理
'''
q = {}
def homework2():
peopel = int(input("请输入学生人数:"))
print("学生人数为{}".format(peopel))
for j in range(peopel):
c = {input("请输入学生姓名:"):input("请输入学生成绩:")}
q.update(c)
print("成绩录入结束!","\n{}".format(q))
d = input("是否查找某位同学的成绩(yes/no)?\n")
if d.lower() == "yes":
find_name = input("请输入你要查找的学生姓名:")
score = q.get(find_name)
print("{}的成绩为:{}".format(find_name,score))
else:
pass
print("{}同学成绩最高,分数为:{}".format(max(q.keys()),max(q.values())))
score_sorted = sorted(q.items(),key = lambda x:x[1],reverse = True) #匿名函数排序并采用降序
print("排序后的学生名单及成绩为:\n{}".format(score_sorted))
if __name__ == '__main__':
homework1()
print("\n")
homework2()
运行结果