使用一个变量all_students保存一个班的学生信息(4个),每个学生需要保存:姓名、年龄、成绩、电话
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'},
]
1.添加学生:输入学生信息,将输入的学生的信息保存到all_students中
例如输入:
姓名: 小明
年龄: 20
成绩: 100
电话: 111922
那么就在all_students中添加{'name':'小明', 'age': 20, 'score': 100, 'tel':'111922'}
all_students = []
dict1 = {}
while True:
shuru = input('是否继续输入(1:继续输入):')
if shuru == '1':
name = input('请输入姓名:')
age = input('请输入年龄:')
score = input('请输入成绩:')
tel = input('请输入电话:')
dict1 = {'name':name,'age':age,'score':score,'tel':tel}
all_students.append(dict1)
else:
break
print(all_students)
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'},
]
name = input('姓名:')
for dict in all_students:
if name == dict['name']:
print(dict)
break
else:
print('您所查找的学生不存在')
3.求所有学生的平均成绩和平均年龄
{'name': 'stu1', 'age': 23, 'score': 81, 'tel': '1234232'},
{'name': 'stu2', 'age': 29, 'score': 90, 'tel': '211222'},
{'name': 'stu3', 'age': 12, 'score': 67, 'tel': '3423212'},
{'name': 'stu4', 'age': 23, 'score': 41, 'tel': '1232313012'},
]
sum_score = 0
sum_age = 0
for dict in all_students:
sum_score = dict['score'] + sum_score
sum_age = dict['age'] + sum_age
continue
print('所有学生的平均成绩是%.2f平均年龄是%.2f' % (sum_score/4, sum_age/4))
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'},
]
for dict in all_students[:]:
if dict['age'] < 18:
all_students.remove(dict)
print(all_students)
5.统计班级中不及格的学生的人数
{'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'},
]
population = 0
for dict in all_students:
if dict['score'] < 60:
population += 1
print(population)
6.打印手机号最后一位是2的学生的姓名
{'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 dict in all_students:
if int(dict['tel']) % 10 == 2:
print(dict['name'])