# 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)
students = [
{'name': '小明', 'sex': '男', 'age': 17, 'score': 90, 'tel': '110'},
{'name': '小红', 'sex': '男', 'age': 16, 'score': 78, 'tel': '120'},
{'name': '小黄', 'sex': '男', 'age': 20, 'score': 58, 'tel': '119'},
{'name': '蔡徐坤', 'sex': '不明', 'age': 19, 'score': 23, 'tel': '10010'},
{'name': '小绿', 'sex': '男', 'age': 30, 'score': 67, 'tel': '10001'},
{'name': '小青', 'sex': '男', 'age': 98, 'score': 59, 'tel': '10008'}
]
# a.统计不及格学生的个数
n = 0
for student1 in students:
if student1['score'] < 60:
n += 1
print('不及格人数:', n)
print()
# b.打印不及格学生的名字和对应的成绩
print('不及格学生:')
for student1 in students:
if student1['score'] < 60:
print(student1['name'], student1['score'])
print()
# c.统计未成年学生的个数
n = 0
for age in students:
if age['age'] < 18:
n += 1
print('未成年:', n)
print()
# d.打印手机尾号是8的学生的名字
for tel1 in students:
tel2 = int(tel1['tel'])
if tel2 % 10 == 8:
print(tel1['name'])
print()
# e.打印最高分和对应的学生的名字
score_max = 0
name1 = 0
for score1 in students:
if score1['score'] > score_max:
score_max = score1['score']
name1 = score1['name']
print(name1)
# f.将列表按学生成绩从大到小排序
i = len(students)
for _ in range(i - 1):
for num1 in range(i - 1):
if students[num1]['score'] < students[num1 + 1]['score']:
students[num1], students[num1 + 1] = students[num1 + 1], students[num1]
print(students)
# g.删除性别不明的所有学生
for num2 in students[:]:
if num2['sex'] == '不明':
students.remove(num2)
print(students)
# 3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
list1 = ['小明', '小红', '小黄', '小蓝', '蔡徐坤']
list2 = ['小黄', '小蓝', '小靛', '小紫', '蔡徐坤']
list3 = ['小靛', '小紫', '王境泽', '真香', '蔡徐坤']
set1 = set(list1)
set2 = set(list2)
set3 = set(list3)
# a. 求选课学生总共有多少人
n = 0
list4 = set1 | set2 | set3
for _ in list4:
n += 1
print(n)
print('b=================================')
# b. 求只选了第一个学科的人的数量和对应的名字
n = 0
list5 = set1 - set2 - set3
for _ in list5:
n += 1
print(list5, n)
print('c=================================')
# c. 求只选了一门学科的学生的数量和对应的名字
list6 = (set1 - set2 - set3) | (set2 - set1 - set3) | (set3 - set2 -set1)
n = 0
for _ in list6:
n += 1
print(list6, n)
print('d=================================')
# d. 求只选了两门学科的学生的数量和对应的名字
d = (set1 | set2 | set3) - list6 - (set1 & set2 & set3)
n = 0
for _ in d:
n += 1
print(d, n)
print('e================================')
# e. 求选了三门学生的学生的数量和对应的名字
set4 = set1 & set2 & set3
n = 0
for _ in set4:
n += 1
print(set4, n)
day7作业
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...