students = [ {'name': '张三', 'age': 18, 'score': 98, 'tel': '1388888998', 'gender': 'female'}, {'name': '李四', 'age': 28, 'score': 95, 'tel': '1388666666', 'gender': 'male'}, {'name': '王五', 'age': 21, 'score': 98, 'tel': '1365588889', 'gender': 'unknown'}, {'name': 'chris', 'age': 17, 'score': 47, 'tel': '13777775523', 'gender': 'male'}, {'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'}, {'name': 'tony', 'age': 15, 'score': 89, 'tel': '1388888888', 'gender': 'unknown'} ] 编程实现: 输入1,统计不及格学生的个数,输出不及格的学生有X个; 输入2,输出不及格学生的名字,存放在一个列表里面; 输入3,统计未成年学生的个数,输出未成年的学生有X个 输入4,输出未成年学生的电话,存放在一个列表里面; 输入5,输出手机尾号是8的学生的名字,存放在一个列表里面; 输入6,删除性别不明的所有学生,输出删除之后的结果; 测试说明 本实训的测试样例如下: 测试输入:1 预期输出:不及格的学生有2个
时间: 2023-06-17 22:03:41 浏览: 337
sort-by-name.rar_site:www.pudn.com_sortbyname
5星 · 资源好评率100%
代码实现如下:
```python
# 学生信息列表
students = [
{'name': '张三', 'age': 18, 'score': 98, 'tel': '1388888998', 'gender': 'female'},
{'name': '李四', 'age': 28, 'score': 95, 'tel': '1388666666', 'gender': 'male'},
{'name': '王五', 'age': 21, 'score': 98, 'tel': '1365588889', 'gender': 'unknown'},
{'name': 'chris', 'age': 17, 'score': 47, 'tel': '13777775523', 'gender': 'male'},
{'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'},
{'name': 'tony', 'age': 15, 'score': 89, 'tel': '1388888888', 'gender': 'unknown'}
]
# 输入1:统计不及格学生的个数
def count_failed_students():
count = 0
for s in students:
if s['score'] < 60:
count += 1
print("不及格的学生有{}个".format(count))
# 输入2:输出不及格学生的名字,存放在一个列表里面
def list_failed_student_names():
names = []
for s in students:
if s['score'] < 60:
names.append(s['name'])
print("不及格学生的名字为:", names)
# 输入3:统计未成年学生的个数,输出未成年的学生有X个
def count_underage_students():
count = 0
for s in students:
if s['age'] < 18:
count += 1
print("未成年的学生有{}个".format(count))
# 输入4:输出未成年学生的电话,存放在一个列表里面
def list_underage_student_tels():
tels = []
for s in students:
if s['age'] < 18:
tels.append(s['tel'])
print("未成年学生的电话为:", tels)
# 输入5:输出手机尾号是8的学生的名字,存放在一个列表里面
def list_students_with_tel_ending_in_8():
names = []
for s in students:
if s['tel'][-1] == '8':
names.append(s['name'])
print("手机尾号是8的学生的名字为:", names)
# 输入6:删除性别不明的所有学生,输出删除之后的结果
def delete_unknown_gender_students():
global students
students = [s for s in students if s['gender'] != 'unknown']
print("删除性别不明的学生之后的结果为:", students)
# 测试输入1
count_failed_students()
# 测试输入2
list_failed_student_names()
# 测试输入3
count_underage_students()
# 测试输入4
list_underage_student_tels()
# 测试输入5
list_students_with_tel_ending_in_8()
# 测试输入6
delete_unknown_gender_students()
```
测试结果如下:
```
不及格的学生有2个
不及格学生的名字为: ['chris', 'jack']
未成年的学生有2个
未成年学生的电话为: ['13777775523', '1388888888']
手机尾号是8的学生的名字为: ['张三', 'tony']
删除性别不明的学生之后的结果为: [{'name': '张三', 'age': 18, 'score': 98, 'tel': '1388888998', 'gender': 'female'}, {'name': '李四', 'age': 28, 'score': 95, 'tel': '1388666666', 'gender': 'male'}, {'name': 'chris', 'age': 17, 'score': 47, 'tel': '13777775523', 'gender': 'male'}, {'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'}]
```
阅读全文