day8 homework

1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
students = {'姓名': '小红', '年龄': 18, '成绩(单科)': 79, '电话': '082813123'}
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
student1 = {'姓名': '小王', '年龄': 16, '成绩': 55, '电话': '123566738'}
student2 = {'姓名': 'bob', '年龄': 15, '成绩': 66, '电话': '476324350'}
student3 = {'姓名': '小将', '年龄': 18, '成绩': 58, '电话': '098756780'}
student4 = {'姓名': '阿婷', '年龄': 23, '成绩': 80, '电话': '043575670'}
student5 = {'姓名': '小黑', '年龄': 19, '成绩': 98, '电话': '0984375678'}
student6 = {'姓名': '小明', '年龄': 20, '成绩': 95, '电话': '098756723'}

student_msg = [student1, student2, student3, student4, student5, student6]

print('============统计不及格学生的个数/打印不及格学生的名字和对应的成绩=============')

count = 0
for item in student_msg:
    if item['成绩'] < 60:
        count += 1
        print(item['姓名'], item['成绩'])
print('不及格的学生个数:', count)

print('===========统计未成年学生的个数==========')
count = 0
for age in student_msg:
    if age['年龄'] < 18:
        count += 1
print('未成年学生的个数是:', count)

print('==========打印手机尾号是8的学生的名字==========')

for index in range(len(student_msg)):
    if student_msg[index]['电话'][-1] == '8':
        print(student_msg[index]['姓名'])

print('==========打印最高分和对应的学生的名字==========')
n = 0  # 最高分

for scores in student_msg:
    if n < scores['成绩']:
        n = scores['成绩']
        print(scores['姓名'])
print('最高分是;', n)


print('==========将列表按学生成绩从大到小排序==========')
s = []
for index in range(len(student_msg)):
    s.append(student_msg[index]['成绩'])
s.sort(reverse=True)
         #未完待续


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

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

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

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

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

e. 求选了三门学生的学生的数量和对应的名字
English = ['小明', '小张', '小婷', 'la', '西西', 'bob']
Chinese = ['小黄', '小张', '小婷', '小东', '东东', '阿莎', '小李']
Match = ['啊黄', '小不点', '小婷', 'anne', '东东']

print('==========求选课学生总共有多少人==========')
方法一:
set1 = set(English + Chinese + Match)
count = 0
for _ in set1:
    count += 1
print('选课学生总共', count)



方法二:
new_set=set(Chinese)|set(English)|set(Match)
print(len(new_set))




print('===========只选了第一个学科的人的数量和对应的名==========')


new_set1=set(English)-set(Match)-set(Chinese)
print(len(new_set1))




print('==========选了两门学科的学生的数量和对应的名==========')

set2 = set(English) & set(Match)
set3 = set(English) & set(Chinese)
set4 = set(Match) & set(Chinese)
set6 = set(English) & set(Match) & set(Chinese)
print((set3|set2|set4) -set6 )
list1 = list(set3)+list(set2)+list(set4)
count = 0
for _ in list1:
        count+=1
print('选两门学科学生的数量:',count)

print('==========选了三门学生的学生的数量和对应的名字==========')
set5 = set(Match)&set(Chinese)&set(English)
print(set5)

你可能感兴趣的:(day8 homework)