-
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
-
统计不及格学生的个数
-
打印不及格学生的名字和对应的成绩
-
统计未成年学生的个数
-
打印手机尾号是8的学生的名字
-
打印最高分和对应的学生的名字
-
删除性别不明的所有学生
-
将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
students = [ {'name': '张三', 'age': 18, 'score': 77, 'phone_num': '1111111', 'gender': 'male'}, {'name': '小明', 'age': 19, 'score': 99, 'phone_num': '2222222', 'gender': 'male'}, {'name': '小红', 'age': 17, 'score': 56, 'phone_num': '3333333', 'gender': 'female'}, {'name': '小芳', 'age': 18, 'score': 99, 'phone_num': '4444444', 'gender': '性别不明'}, {'name': '李四', 'age': 20, 'score': 54, 'phone_num': '5555555', 'gender': 'male'}, {'name': '大明', 'age': 21, 'score': 94, 'phone_num': '6666668', 'gender': 'male'} ] # a.统计不及格学生的个数 count = 0 for x in students: if x['score'] < 60: count += 1 print('不及格学生的个数:', count) # b.打印不及格学生的名字和对应的成绩 for x in students: if x['score'] < 60: print(x['name'], x['score']) # c.统计未成年学生的个数 count = 0 for x in students: if x['age'] < 18: count += 1 print('未成年学生的个数:', count) # d.打印手机尾号是8的学生的名字 for x in students: if x['phone_num'][-1] == '8': print('手机尾号是8的学生的名字:', x['name']) # e.打印最高分和对应的学生的名字 score = 0 for x in students: if x['score'] > score: score = x['score'] for x in students: if x['score'] == score: print(x['name'], score) # f.删除性别不明的所有学生 for x in students: if x['gender'] == '性别不明': students.remove(x) print(students) # g.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃) score = [] new_students = [] for x in students: score.append(x['score']) score.sort(reverse=True) print(score) for x in score: for y in students: if x == y['score']: new_students.append(y) print(new_students)
-
-
用三个集合表示三门学科的选课学生姓名(一个学生可以同时选多门课)
-
求选课学生总共有多少人
-
求只选了第一个学科的人的数量和对应的名字
-
求只选了一门学科的学生的数量和对应的名字
-
求只选了两门学科的学生的数量和对应的名字
-
求选了三门学生的学生的数量和对应的名字
english = {'张三', '李四', '王五', '小明', '小红', '小黑'} math = {'李四', '王五', '小芳', '大芳', '丹丹'} chinese = {'张三', '王五', '小黑', '小兵', '大黑'} # 1. 求选课学生总共有多少人 students_all = english | math | chinese print(len(students_all)) # 2. 求只选了第一个学科的人的数量和对应的名字 students_first = english - math - chinese print(students_first, len(students_all)) # 3. 求只选了一门学科的学生的数量和对应的名字 students_chinese = chinese - (english | math) students_math = math - (english | chinese) students_english = english - (math | chinese) students_1 = students_english | students_math | students_chinese print(students_1, len(students_1)) # 4. 求只选了两门学科的学生的数量和对应的名字 students_2 = students_all - students_1 - (english & math & chinese) print(students_2, len(students_2)) # 5. 求选了三门学生的学生的数量和对应的名字 students = english & math & chinese print(students, len(students))
-
3.视屏题(学生信息系统)
students = [
{'学号': 'stu001', '姓名': 'aa', '年龄': 18, '电话': '7654'},
{'学号': 'stu002', '姓名': 'bb', '年龄': 20, '电话': '9563'},
{'学号': 'stu003', '姓名': 'cc', '年龄': 19, '电话': '6532'},
{'学号': 'stu004', '姓名': 'dd', '年龄': 21, '电话': '1278'},
{'学号': 'stu005', '姓名': 'ee', '年龄': 22, '电话': '8234'},
]
while True:
print('1. 添加学生')
print('2. 查看学生')
print('3. 修改学生信息')
print('4. 删除学生')
print('5. 返回')
choose1 = input('请选择(1~5):')
if choose1 == '5':
break
else:
while True:
if choose1 == '1':
stu = {}
if len(students) < 10:
stu['学号'] = 'stu00' + str(len(students) + 1)
elif len(students) < 100:
stu['学号'] = 'stu0' + str(len(students) + 1)
elif len(students) < 1000:
stu['学号'] = 'stu' + str(len(students) + 1)
stu['姓名'] = input('请输入学生姓名:')
stu['年龄'] = input('请输入学生的年龄:')
stu['电话'] = input('请输入学生的电话:')
students.append(stu)
print('添加成功!')
print('1. 继续')
print('2. 返回')
choose2 = input('请选择(1-2):')
if choose2 == '2':
break
if choose1 == '2':
print('1.查看所有学生')
print('2.按姓名查找')
print('3.按学号查找')
print('4.返回')
choose3 = input('请选择(1-4):')
if choose3 == '1':
print(students)
if choose3 == '2':
name = input('请输入姓名:')
for student in students:
if student['姓名'] == name:
print(student)
if choose3 == '3':
stu_num = input('请输入学号:')
for student in students:
if student['学号'] == stu_num:
print(student)
elif choose3 == '4':
break
if choose1 == '3':
name = input('请输入需要修改的学生姓名:')
for student in students:
if student['姓名'] == name:
stu_num = input('是否修改学号(是:1,否:2):')
if stu_num == '1':
new_stu_num = input('学号修改为:')
student['年龄'] = new_stu_num
age = input('是否修改年龄(是:1,否:2):')
if age == '1':
new_age = input('年龄修改为:')
student['年龄'] = new_age
tel = input('是否修改电话(是:1,否:2):')
if tel == '1':
new_tel = input('电话修改为:')
student['电话'] = new_tel
else:
print('该学生不存在')
break
if choose1 == '4':
name = input('请输入需要删除学生姓名:')
for student in students:
if student['姓名'] == name:
students.remove(student)
else:
print('该学生不存在')
break
print(students)