1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)
student = {'name': '小花', 'age': 17, 'score': 87, 'tel': '18709972799', 'gender': '女'}
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
all_student = [
{'name': '黑子', 'age': 15, 'score': 69, 'tel': 18709972799, 'gender': '男'},
{'name': '青锋', 'age': 19, 'score': 30, 'tel': 18709972798, 'gender': '男'},
{'name': '赤司', 'age': 18, 'score': 98, 'tel': 18709972797, 'gender': '男'},
{'name': '黄獭', 'age': 17, 'score': 90, 'tel': 18709972796, 'gender': '不明'},
{'name': '绿间', 'age': 19, 'score': 80, 'tel': 18709972795, 'gender': '男'},
{'name': '紫原', 'age': 17, 'score': 50, 'tel': 18709972794, 'gender': '男'}]
a.统计不及格学生的个数
num = 0
for x in all_student:
if x.get('score') < 60:
num += 1
print(num)
b.打印不及格学生的名字和对应的成绩
for x in all_student:
if x.get('score') < 60:
print(x.get('name'),x.get('score'))
c.统计未成年学生的个数
num = 0
for x in all_student:
if x.get('age') < 18:
num += 1
print(num)
d.打印手机尾号是8的学生的名字
for x in all_student:
if x.get('tel') % 10 == 8:
print(x.get('name'))
e.打印最高分和对应的学生的名字
max_score = 0
for x in all_student:
if x.get('score') > max_score:
max_score = x.get('score')
y = x
print(y.get('name'), y.get('score'))
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
list1 = []
for x in all_student:
list1.append(x.get('score'))
list1.sort(reverse=True)
for x in list1:
for y in all_student:
if x == y.get('score'):
all_student.remove(y)
all_student.append(y)
print(all_student)
g.删除性别不明的所有学生
for x in all_student:
if x.get('gender') == '不明':
all_student.remove(x)
print(all_student)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
Math = ['青峰', '黄濑', '绿间', '黑子', '七月', '火神']
Music = ['日向', '黑子', '火神', '七月', '孙仁', '孙权']
English = ['青峰', '日向', '黄濑', '七月', '孙策']
math = set(Math)
music = set(Music)
english = set(English)
a. 求选课学生总共有多少人
a = math | music | english
print(len(a))
b. 求只选了第一个学科的人的数量和对应的名字
b = (math - music) - english
print(len(b), b)
c. 求只选了一门学科的学生的数量和对应的名字
c = math ^ music ^ english
print(len(c), c)
d. 求只选了两门学科的学生的数量和对应的名字
d = a - c - (music & math & english)
print(len(d), d)
e. 求选了三门学生的学生的数量和对应的名字
e = music & math & english
print(len(e), e)