day8作业4-25

1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话

information = {'姓名':'小明', '年龄': 21, '语文': 89, '数学': 100, '英语': 88, '电话': 13152356409}

2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)

information1 = {'姓名': '杜普', '年龄': 21, '成绩': 46, '电话': 18232356409}
information2 = {'姓名': '小明', '年龄': 11, '成绩': 87, '电话': 13233456345}
information3 = {'姓名': '钢蛋', '年龄': 16, '成绩': 56, '电话': 13344558745}
information4 = {'姓名': '张雪', '年龄': 20, '成绩': 67, '电话': 13152355688}
information5 = {'姓名': '李明', '年龄': 22, '成绩': 90, '电话': 13134341234}
information6 = {'姓名': '王华', '年龄': 19, '成绩': 76, '电话': 13151233311}
list1 = [information1, information2, information3, information4, information5, information6]

a.统计不及格学生的个数

count1 = 0
for index in list1:
    if index['成绩'] < 60:
        count1 += 1
print(count1)

b.打印不及格学生的名字和对应的成绩

for index in list1:
    if index['成绩'] < 60:
        print(index['姓名'], index['成绩'])

c.统计未成年学生的个数

count1 = 0
for index in list1:
    if index['年龄'] < 18:
        count1 += 1
print(count1)

d.打印手机尾号是8的学生的名字

for index in list1:
    if index['电话'] % 10 == 8:
        print(index['姓名'])

e.打印最高分和对应的学生的名字

results = 0
name1 = []
for index in list1:
    if index['成绩'] >= results:
        results = index['成绩']
        name1 = index['姓名']

print(results, name1)

f.将列表按学生成绩从大到小排序

results1 = []
for index in list1:
    results1.append(index['成绩'])
for x in range(len(results1)-1):
    for n in range(x+1, len(results1)):
        if results1[x] < results1[n]:
            results1[x], results1[n] = results1[n], results1[x]
            list1[x], list1[n] = list1[n], list1[x]
print(list1)

3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)

course1 = ['小明', '小李', '王华', '张三']
course2 = ['王二', '小李', '李四', '小四', '小明']
course3 = ['小明', '小五', '王华', '五月天']

a.求选课学生总共有多少人

s = set(course1) | set(course2) | set(course3)
print(len(s))

b.求只选了第一个学科的人的数量和对应的名字

course4 = set(course1) - set(course2) - set(course3)
print(len(course4), course4)

c.求只选了一门学科的学生的数量和对应的名字

course4 = (set(course1) - set(course2) - set(course3)) | (set(course2) - set(course1) - set(course3)) | (set(course3) - set(course1) - set(course2))
print(len(course4), course4)

d.求只选了两门学科的学生的数量和对应的名字

course4 = (set(course1) - set(course2) - set(course3)) | (set(course2) - set(course1) - set(course3)) | (set(course3) - set(course1) - set(course2))
course5 = set(course1) & set(course2) & set(course3)
course6 = s - course4 - course5
print(len(course6), course6)

e.求选了三门学生的学生的数量和对应的名字

course5 = set(course1) & set(course2) & set(course3)
print(len(course5), course5)

你可能感兴趣的:(day8作业4-25)