下面是实现这些功能的 Python 代码:
studic = {22001:(70,80), 22005:(90,65), 22008:(75,74), 2010:(75.84)}
def getfinal(d):
final_dict = {}
for key, value in d.items():
if len(value) == 2:
final_dict[key] = value[0] * 0.3 + value[1] * 0.7
else:
final_dict[key] = value[0]
return final_dict
fd = getfinal(studic)
print(fd)
id = int(input("请输入一个学号: "))
if id in fd:
print(fd[id])
else:
print("not found")
fd_sorted = sorted(fd.items(), key=lambda x: x[1], reverse=True)
print(fd_sorted)
这段代码的执行过程如下:
- 定义了一个字典
studic
,其中包含了几个学号以及对应的成绩元组。 - 定义了一个函数
getfinal
,该函数接受一个字典作为参数,并根据给定的规则计算每个学号的最终成绩。最后返回一个新字典,其中包含学号作为键,最终成绩作为值。 - 在主程序中调用函数
getfinal
,并将返回的结果赋值给变量fd
。 - 输出变量
fd
。 - 读入一个学号,并在字典
fd
中查找对应的最终成绩。如果找到了,则输出最终成绩;如果没有找到,则输出 "not found"。 - 对字典
fd
进行降序排序,然后输出排序后的字典。
希望这些内容能帮到你!