1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)
students = {'name': '', 'age': '', 'grade': '', 'tel': '', 'gender':''}
print(students)
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
g.删除性别不明的所有学生
students = [{'name': '小秦', 'age': '19', 'grade': 80, 'tel': '12319241018', 'gender': '男'},
{'name': '小王', 'age': '18', 'grade': 49, 'tel': '34415116112', 'gender':'男'},
{'name': '李四', 'age': '19', 'grade': 67, 'tel': '62327146188', 'gender': '不明'},
{'name': '王红', 'age': '17', 'grade': 53, 'tel': '12451245121', 'gender': '女'},
{'name': '张大', 'age': '16', 'grade': 59, 'tel': '12561216121', 'gender': '女'},
{'name': '汪大', 'age': '17', 'grade': 70, 'tel': '36875523448', 'gender': '男'}]
# a.统计不及格学生个数
count = 0
for stu_dic in students:
if int(stu_dic['grade']) < 60:
count += 1
print('不及格的人数是:',count, '个')
# b.打印不及格学生的名字和对应的成绩
for stu_dic in students:
if int(stu_dic['grade']) < 60:
print('不及格的学生是:', stu_dic['name'], '成绩是:', stu_dic['grade'])
# c.统计未成年学生的个数
count1 = 0
for stu_dic in students:
if int(stu_dic['age']) < 18:
count1 += 1
print('未成年学生有:', count1, '个')
# d.打印手机尾号是8的学生的名字
for stu_dic in students:
if stu_dic['tel'][-1] == '8':
print('手机尾号为8的学生是:', stu_dic['name'])
# e.打印最高分和对应的学生的名字
max_grade = 0
for stu_dic in students:
if stu_dic['grade'] > max_grade:
max_grade = stu_dic['grade']
print('最高分是:', stu_dic['grade'])
for stu_dic in students:
if stu_dic['grade'] == max_grade:
print('最高分的学生是:', stu_dic['name'])
# f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
grade_list = []
for stu_dic in students:
grade_list.append(stu_dic['grade'])
print(grade_list)
# g.删除性别不明的所有学生
for stu_dic in students:
if stu_dic['gender'] == '不明':
students.remove(stu_dic)
print(students)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字
网友评论