有一个学生信息表students(如下所示), 帮我写一个python程序要求: (1)统计不及格学生的个数 (2)打印不及格学生的名字和对应的成绩 (3)统计未成年学生的个数 (4)打印手机尾号是8的学生的名字 (5) 打印最高分和对应学生的名字 (6)删除性别不明的所有的学生 (7)将列表按照学生成绩从大到小排序 students = [ {'name':'张三','age':18,'score':98,'tel':'18888888888','gender':'female'}, {'name':'李四','age':20,'score':95,'tel':'18888888889','gender':'unkown'}, {'name':'王五','age':18,'score':88,'tel':'18888888810','gender':'male'}, {'name':'托尼','age':16,'score':58,'tel':'18888888811','gender':'unkown'}, {'name':'李磊','age':19,'score':78,'tel':'18888888812','gender':'male'}, {'name':'丽丽','age':17,'score':92,'tel':'18888888813','gender':'male'}, ]
时间: 2023-06-08 21:04:01 浏览: 229
好的,让我来解答您的问题。
以下是针对“students”数据进行统计和处理的 Python 代码:
```python
# 统计不及格学生的个数
fail_count = 0
for student in students:
if student['score'] < 60:
fail_count += 1
print('不及格学生的个数为:', fail_count)
# 打印不及格学生的名字和对应的成绩
print('不及格学生的名字和对应成绩如下:')
for student in students:
if student['score'] < 60:
print(student['name'], student['score'])
# 统计未成年学生的个数
minor_count = 0
for student in students:
if student['age'] < 18:
minor_count += 1
print('未成年学生的个数为:', minor_count)
# 打印手机尾号是8的学生的名字
print('手机尾号为8的学生的名字如下:')
for student in students:
if student['tel'][-1] == '8':
print(student['name'])
# 打印最高分和对应学生的名字
max_score = 0
max_score_student = ''
for student in students:
if student['score'] > max_score:
max_score = student['score']
max_score_student = student['name']
print('最高分为:', max_score, ', 最高分学生的名字为:', max_score_student)
# 删除性别不明的所有的学生
students = [s for s in students if s['gender'] != 'unkown']
print('已删除性别不明的所有学生:', students)
# 将列表按照学生成绩从大到小排序
students = sorted(students, key=lambda s: s['score'], reverse=True)
print('按照学生成绩从大到小排序的学生信息如下:', students)
```
这样,您就可以对这份数据进行各种统计和处理了。如果您有其他问题,我也很乐意为您解答。
阅读全文