1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
student = {'姓名': '葫芦娃的爷爷', '年龄': '88', '成绩': 88, '电话': 8008208820}
print(student)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a.求选课学生总共有多少人
math = ['lily', 'rose', 'rachel', 'rick']
chinese = ['rick', 'tom', 'jerry', 'mon']
history = ['mon', 'rick', 'lord', 'aaa']
math2 = set(math)
chinese2 = set(chinese)
history2 = set(history)
student =math2|chinese2|history2
# print(student)
print("总共学生个数是",len(student))
b.求只选了第一个学科的人的数量和对应的名字
print('===================')
set2 = (math2 - chinese2) - history2
count = 0
for stu in set2:
count +=1
print("第一门学科的人数:", len(set2))
print("名字:",set2)
c.求只选了一门学科的学生的数量和对应的名字
only = math2^chinese2^history2 #-math2&chinese2&history2
print("只选了一个学科的人数:", len(only))
print("名字是", only)
d.求只选了两门学科的学生的数量和对应的名字
c.求选了三门学生的学生的数量和对应的名字
all = math2&chinese2&history2
print("都选了的人数:", len(all))
print("名字是", all)
# 所有学生 - 只选了一科的学生 - 选了三科的学生
both = set2 - only - all
print("都选了的人数:", len(both))
print("名字是", both)
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
student_six = [{'姓名': 'a', '年龄': '17', '成绩': 88, 'tel': 8008208820},{'姓名': 'b', '年龄': '18', '成绩': 90, 'tel': 8008208828},
{'姓名': 'c', '年龄': '18', '成绩': 58, 'tel': 8008208820},{'姓名': 'd', '年龄': '19', '成绩': 68, 'tel': 8008208826},
{'姓名': 'e', '年龄': '20', '成绩': 23, 'tel': 8008208820},{'姓名': 'f', '年龄': '16', '成绩': 81, 'tel': 8008208888}]
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
count = 0
for i in range(len(student_six)):
if student_six[i].get('成绩') < 60:
count+=1
print(student_six[i].get('姓名'),student_six[i].get('成绩'))
print('不及格人数:',count)
c.统计未成年学生的个数
count1 = 0
for i in range(len(student_six)):
if student_six[i].get('年龄') < '18':
count1 +=1
print("未成年人数:",count1)
d.打印手机尾号是8的学生的名字
for i in range(len(student_six)):
if int(student_six[i].get('tel'))%10==8:
print(student_six[i].get('姓名'),student_six[i].get('tel'))
e.打印最高分和对应的学生的名字
max_grade = 0
for i in range(len(student_six)):
if int(student_six[i].get('成绩')) > max_grade:
max_grade = student_six[i].get('成绩')
best_name = student_six[i].get('姓名')
print(max_grade,best_name)
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
print("=================fff====================")
for i in range(len(student_six)):
for j in range(len(student_six)):
if (int(student_six[i].get('成绩'))) > (student_six[j].get('成绩')): student_six[i],student_six[j]=student_six[j],student_six[i]
print(student_six)