用python代码请输入10名同学的信息(包含:学号、姓名、年龄、省份),然后 将其保存在一个字 典列表students中(用循环输入) ,存储格式为:[{"学号":"20190401001","姓名":"张三","年龄":19,"省份":"河北省"},{"学号":"20190401002","姓名":."李四","年龄":18,"省份":"河南省7.....;统计出各个省份的人数,并计算所有学生的平均年龄
时间: 2023-06-07 21:08:56 浏览: 64
用文件存储10个学生的姓名、学号、手机号、地址,可通过姓名或者学号查找
5星 · 资源好评率100%
以下是Python代码实现:
```python
students = []
provinces = {}
for i in range(10):
student = {}
student["学号"] = input("请输入第{}个学生的学号:".format(i+1))
student["姓名"] = input("请输入第{}个学生的姓名:".format(i+1))
student["年龄"] = int(input("请输入第{}个学生的年龄:".format(i+1)))
student["省份"] = input("请输入第{}个学生的省份:".format(i+1))
students.append(student)
if student["省份"] not in provinces:
provinces[student["省份"]] = 1
else:
provinces[student["省份"]] += 1
total_age = 0
for student in students:
total_age += student["年龄"]
average_age = total_age / len(students)
print("所有学生的信息:")
for student in students:
print(student)
print("各个省份的人数:")
for province, count in provinces.items():
print("{}: {}".format(province, count))
print("所有学生的平均年龄:{:.2f}".format(average_age))
```
这段代码首先定义了一个空列表`students`和一个空字典`provinces`,然后通过循环输入10名同学的信息,将每个学生的信息保存为一个字典,并将字典添加到列表`students`中。同时,统计每个省份的人数,统计方法是通过判断学生的省份是否在`provinces`字典中,如果不在,则将该省份添加到字典中,对应的值设为1;否则,将该省份对应的值加1。
接着,通过循环遍历`students`列表,累加所有学生年龄的总和,用于后面计算平均年龄。
最后,输出所有学生的信息、各个省份的人数以及所有学生的平均年龄。其中,输出字典可以直接使用循环遍历字典的`items()`方法,输出格式可以使用`format()`方法进行格式化。输出平均年龄时,使用`{:.2f}`表示保留2位小数。
阅读全文