day08 作业

使用一个变量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

你可能感兴趣的:(day08 作业)