1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
dict1 = {'姓名': '', '年龄': '', '成绩(单科)': '', '电话': ''}
name = input("请输入学生姓名:")
age = input("请输入学生的年龄:")
score = input("请输入学生的成绩(单科):")
tel = input("请输入电话号码:")
dict1['姓名'] = name
dict1['年龄'] = age
dict1['成绩(单科)'] = score
dict1['电话'] = tel
print(dict1)
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
dict1 = {'姓名': 'a', '年龄': 11, '成绩(单科)': 60, '电话': '12358'}
dict2 = {'姓名': 'b', '年龄': 12, '成绩(单科)': 56, '电话': '14535'}
dict3 = {'姓名': 'c', '年龄': 13, '成绩(单科)': 59, '电话': '55131'}
dict4 = {'姓名': 'd', '年龄': 19, '成绩(单科)': 101, '电话': '44564'}
dict5 = {'姓名': 'e', '年龄': 15, '成绩(单科)': 89, '电话': '51544'}
dict6 = {'姓名': 'f', '年龄': 22, '成绩(单科)': 101, '电话': '54568'}
list1 = [dict1, dict2, dict3, dict4, dict5, dict6]
a.统计不及格学生的个数
count = 0
for i in list1:
if i['成绩(单科)'] < 60:
count += 1
print(count)
b.打印不及格学生的名字和对应的成绩
for i in list1:
if i['成绩(单科)'] < 60:
print(i['成绩(单科)'], i['姓名'], end =" ")
c.统计未成年学生的个数
count = 0
for i in list1:
if i['年龄'] < 18:
count += 1
print(count)
d.打印手机尾号是8的学生的名字
for i in list1:
if i['电话'][-1] == '8':
print(i['姓名'], end=" ")
e.打印最高分和对应的学生的名字
print('-----------')
score = []
for dict in list1:
score.append(dict['成绩(单科)'])
for i in range(len(score)):
if score[i] == max(score):
print(score[i], list1[i]['姓名'])
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
yuwen = ('张三', '王麻子', '小明')
shuxue = ('李四', '王麻子', '小红')
yingyu = ('张三', '李四', '小王', '王麻子')
list1 = set(yuwen)
list2 = set(shuxue)
list3 = set(yingyu)
a. 求选课学生总共有多少人
print(list1 | list2 | list3)
b. 求只选了第一个学科的人的数量和对应的名字
count = 0
for i in yuwen:
count += 1
print(yuwen, count)
c. 求只选了一门学科的学生的数量和对应的名字
print("-------------")
a = list1 ^ list2 ^ list3
print(len(a), a)
d. 求只选了两门学科的学生的数量和对应的名字
print("========d===========")
e = []
a = list1 & list2
b = list2 & list3
c = list3 & list1
d = list1 & list2 & list3
e = (a | b | c) - d
print(e)
print(len(e),"人")
print(d)
e. 求选了三门学生的学生的数量和对应的名字
print("===================")
a = []
a = list1 & list2 & list3