使用一个变量all_students保存一个班的学生信息(4个),每个学生需要保存:姓名、年龄、成绩、电话
1.添加学生:输入学生信息,将输入的学生的信息保存到all_students中(例如输入: 姓名: 小明 年龄: 20 成绩: 100 电话: 111922 那么就在all_students中添加{'name':'小明', 'age': 20, 'score': 100, 'tel':'111922'})
all_students = [
{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
]
name = input('请输入姓名:')
age = int(input('请输入年龄:'))
score = float(input('请输入成绩:'))
tel = int(input('请输入电话:'))
student = {'name': name, 'age': age, 'score': score, 'tel': tel}
all_students.append(student)
print(all_students)
运行结果:
请输入姓名:小明
请输入年龄:20
请输入成绩:100
请输入电话:111922
[{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
{'name': '小明', 'age': 20, 'score': 100, 'tel': 111922}
]
2.按姓名查看学生信息:(例如输入: 姓名: stu1 就打印:'name':'stu1', 'age': 19, 'score':81, 'tel':'192222')
all_students = [
{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
]
message = input('请输入学生姓名:')
for student in all_students:
if student.get('name') == message:
print(student)
请输入学生姓名:stu3
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'}
3.求所有学生的平均成绩和平均年龄
all_students = [
{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
]
sum_age = 0
sum_score = 0
for student in all_students:
sum_age += student['age']
sum_score += student['score']
print(sum_age/len(all_students))
print(sum_score/len(all_students))
年龄平均值: 22.5
成绩平均值: 70.75
4.删除班级中年龄小于18岁的学生
all_students = [
{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
]
index = 0
while index < len(all_students):
if all_students[index].get('age') < 18:
all_students.pop(index)
else:
index += 1
print(all_students)
[{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'}
]
5.统计班级中不及格的学生的人数
all_students = [
{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
]
count = 0
for student in all_students:
if student['score'] < 60:
count += 1
print('不及格的学生的人数:', count)
不及格的学生的人数:1
6.打印手机号最后一位是2的学生的姓名
all_students = [
{'name': 'stu1', 'age': 19, 'score': 81, 'tel': '192222'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '521114'},
{'name': 'stu4', 'age': 30, 'score': 45, 'tel': '900012'},
]
for student in all_students:
if int(student['tel']) % 10 == 2:
print(student['name'])
stu1
stu2
stu4