1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
student = {'姓名':'端午', '年龄':'3', '成绩':'66', '电话':'123456'}
print(student)
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
dict1 = {'name':'李一', 'age':13, 'score':66, 'tel':123456}
dict2 = {'name':'王二', 'age':22, 'score':89, 'tel':123457}
dict3 = {'name':'张三', 'age':35, 'score':70, 'tel':123458}
dict4 = {'name':'刘四', 'age':47, 'score':40, 'tel':123458}
dict5 = {'name':'陈五', 'age':51, 'score':77, 'tel':123455}
dict6 = {'name':'赵六', 'age':66, 'score':9, 'tel':123454}
list1 = [dict1, dict2, dict3, dict4, dict5, dict6]
count = 0
for dict in list1:
if dict['score'] < 60:
count += 1
print('不及格学生的个数:', count)
for dict in list1:
if dict['score'] < 60:
print('不及格学生的名字:',dict['name'],'成绩:',dict['score'])
young = 0
for dict in list1:
if dict['age'] < 18:
young += 1
print('未成年学生个数:',young)
for dict in list1:
if (dict['tel']%10)%8 == 0:
print(dict['tel'])
high = 66
for dict in list1:
if dict['score']>high:
high = dict['score']
print(dict['name'])
else:
print('李一')
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字
count = 0
count1 = 0
count2 = 0
chinese = ['熊大', '熊二', '熊四', '熊五']
math = ['熊大','熊三','熊五','熊二']
english = ['熊二']
print('选课学生总数:',len(set(chinese)|set(math)|set(english)))
set1 = set(chinese) - set(math) - set(english)
set2 = set(math) - set(chinese) - set(english)
set3 = set(english) - set(chinese) - set(math)
set4 = (set(math)|set(chinese)) - set(english)
set5 = (set(math)|set(english)) - set(chinese)
set6 = (set(english)|set(chinese)) - set(math)
set7 = set(chinese)|set(math)|set(english)
set8 = set7 - set4 -set5-set6-set1-set2-set1
num1 = len(set1)
num2 = len(set2)
num3 = len(set3)
count = num1 + num2 + num3
count1 =len(set4)+len(set5)+len(set6)
count2 = len(set8)
b = '只选了语文的人的数量%d,对应名字%s'%(num1,set1)
print(b)
c = '只选了一门学科的学生的数量%d, 对应名字%s'%(count,set1|set2|set3)
print(c)
d = '只选了两门学科的学生的数量%d,对应名字%s'%(count1,set4|set5|set6)
print(d)
e = '选了三门学生的学生的数量%d,对应名字%s'%(count2,set8)
print(e)