编写程序,设计一个嵌套字典,形式为{'张三':{'语文':80,'数学':90,'英语':90}, '李四':{'语文':87,'数学':89,'英语':86},'王五':{'语文':66,'数学':88,'英语':77}},然后计算每个同学的总分,各科平均分
时间: 2023-09-10 18:13:41 浏览: 76
以下是代码实现:
```python
scores = {'张三':{'语文':80,'数学':90,'英语':90},
'李四':{'语文':87,'数学':89,'英语':86},
'王五':{'语文':66,'数学':88,'英语':77}}
for name, subjects in scores.items():
total_score = 0
for score in subjects.values():
total_score += score
avg_score = round(total_score / len(subjects), 2)
print(name + "的总分是:" + str(total_score) + ",平均分是:" + str(avg_score))
```
输出结果为:
```
张三的总分是:260,平均分是:86.67
李四的总分是:262,平均分是:87.33
王五的总分是:231,平均分是:77.0
```
相关问题
编写程序实现:输入一个字典内容,包含若干学生的课程成绩,统计每位同学的成绩总分,找出总分最高的学生姓名。 输入样例: 输入一个字典内容,例如: {'徐丽': {'语文': 88, '数学': 90, '英语': 98, '科学': 95},'
我可以回答这个问题。可以使用 Python 编写程序实现。代码如下:
```python
scores = {'徐丽': {'语文': 88, '数学': 90, '英语': 98, '科学': 95},
'张三': {'语文': 90, '数学': 85, '英语': 92, '科学': 88},
'李四': {'语文': 95, '数学': 92, '英语': 89, '科学': 90}}
max_score = 0
max_name = ''
for name, score_dict in scores.items():
total_score = sum(score_dict.values())
if total_score > max_score:
max_score = total_score
max_name = name
print('总分最高的学生姓名是:', max_name)
```
输出结果为:
```
总分最高的学生姓名是: 徐丽
```
这个程序可以处理任意数量的学生和科目成绩,只需要将它们存储在一个嵌套字典中。程序会遍历字典中的每个学生,计算他们的总分,并找出总分最高的学生姓名。
使用嵌套循环输出字典{'张三':(18,'男'),'李四':(19,'女'),'王五':(18,'男')}中年龄等于18的姓名与性别
可以使用两层嵌套循环遍历字典中的键值对,判断年龄是否等于18,如果等于18,则输出对应的姓名和性别。代码如下:
```python
dict = {'张三':(18,'男'),'李四':(19,'女'),'王五':(18,'男')}
for name, (age, gender) in dict.items():
if age == 18:
print(name, gender)
```
输出结果为:
```
张三 男
王五 男
```