已有字典 studic,学号为键、平时成绩与考试成绩构成的元组为值:studic = [22001:(70,80),22005: (90,65),22***: (,),2010:(75.84),22008:(75,74)},请编写程序实现以下功能: (1)编写函数 getfinal(d),其中形参 d为字典该函数返回一个新字典,该字典以学号为键、最终成绩为值,已知最终成绩的计算方式为:平时成绩0.3+考试成绩*0.7。要求在主程序中将studic字典作为实参,调用 getfinal 函数,并将其返回的新字典赋给变量 fd,而后输出 fd。 (2)输入一个学号,在 fd 字典中查找其对应的最终成绩并将其输出,若找不到则输出“not found" (3)按照最终成绩,对字典 fd 进行降序排序后输出,输出形式为: [(22003,84.5),(22018,81.3),(22001,77.0),(22008,74.3),(22005,72.5)]
时间: 2023-02-06 16:28:23 浏览: 79
下面是实现这些功能的 Python 代码:
```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)
```
这段代码的执行过程如下:
1. 定义了一个字典 `studic`,其中包含了几个学号以及对应的成绩元组。
2. 定义了一个函数 `getfinal`,该函数接受一个字典作为参数,并根据给定的规则计算每个学号的最终成绩。最后返回一个新字典,其中包含学号作为键,最终成绩作为值。
3. 在主程序中调用函数 `getfinal`,并将返回的结果赋值给变量 `fd`。
4. 输出变量 `fd`。
5. 读入一个学号,并在字典 `fd` 中查找对应的最终成绩。如果找到了,则输出最终成绩;如果没有找到,则输出 "not found"。
6. 对字典 `fd` 进行降序排序,然后输出排序后的字典。
希望这些内容能帮到你!
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)