1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
student_information = {'name': '孙笑川', 'age': 20, 'score': 10, 'tel': 110}
print(student_information)
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
student_information = [
{'name': '孙笑川', 'age': 26, 'score': 60, 'tel': '110'},
{'name': '陈冠希', 'age': 28, 'score': 80, 'tel': '111'},
{'name': '蔡徐坤', 'age': 22, 'score': 50, 'tel': '112'},
{'name': '小明', 'age': 17, 'score': 90, 'tel': '118'},
{'name': '小红', 'age': 18, 'score': 98, 'tel': '184'},
{'name': '小黑', 'age': 17, 'score': 93, 'tel': '115'}
]
# a,b,c:
count = 0
num = 0
for item in student_information:
if item['score'] < 60:
count += 1
print('不及格的人:', item['name'], '分数:', item['score'])
if item['age'] < 18:
num += 1
print('不及格人数:', count)
print('未成年个数:', num)
# e,d,f
for item1 in student_information:
new_tel = item1['tel']
if new_tel[-1:-2:-1] == '8':
print(item1['name'])
print('============================')
max1 = 60
for item2 in student_information:
# print(item2)
new_score = item2['score']
# print(new_score)
if new_score > max1:
max1 = new_score
for item2 in student_information:
if item2['score'] == max1:
print(item2['name'], max1)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字
list1 = ['小李', '小王', '二狗', '大狗', '小刘', '小丽', '小皮', '小何', '张三']
list2 = ['小李', '小王', '小张', '大狗', '小刘', '小肖', '小皮', '小何']
list3 = ['小李', '小王', '小张', '二狗', '小肖', '小丽', '小皮', '小何']
# a.
print('选课人数:', len(set(list1) | set(list2) | set(list3)))
# b.
print('选了第一门学科的人有:', len(list1), '人')
#c.
set1 = set(list1)
set2 = set(list2)
set3 = set(list3)
set4 = set1 - set2 # 集合1中除去与集合2相同的部分所剩下的部分
set5 = set1 - set3 # 集合1中除去与集合3相同的部分所剩下的部分
print('只选了的第一门课的人有:', set4 & set5, len(set4 & set5), '人')
set6 = set1 & set2
set7 = set1 & set3
set8 = set2 & set3
set9 = set1 & set2 & set3
set10 = set6 | set7 | set8
#d.
print('选了两门课的人有:', set10 - set9, len(set10 - set9), '人')
#e.
print('选了三门课的人有:', set9, len(set9), '人')