day8-元组、字典、集合作业

1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话

student = {'name': '小冯', '年龄': 23, 'score': 66, 'tel': '112'}

2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)

students = [{'name': '小冯', '年龄': 23, 'score': 66, 'tel': '113'},
            {'name': '小花', '年龄': 22, 'score': 57, 'tel': '114'},
            {'name': '小白', '年龄': 21, 'score': 68, 'tel': '128'},
            {'name': '小洪', '年龄': 11, 'score': 69, 'tel': '116'},
            {'name': '小马', '年龄': 13, 'score': 39, 'tel': '187'},
            {'name': '小二', '年龄': 20, 'score': 66, 'tel': '118'}
]

​ a.统计不及格学生的个数

count_low_socre = 0
for student in students:
    if student['score'] < 60:
        count_low_socre += 1        
print(count_low_socre)

​ b.打印不及格学生的名字和对应的成绩

for student in students:
    if student['score'] < 60:
        print(student['name'], student['score'])

​ c.统计未成年学生的个数

count_minor_student  = 0
for student in students:
    if student['年龄'] < 18:
        count_minor_student += 1
print(count_minor_student)

​ d.打印手机尾号是8的学生的名字

for student in students:
    if student['tel'][-1] == '8':
        print(student['name'])

​ e.打印最高分和对应的学生的名字

max_score = 0
max_score_name = ''
for student in students:
    score = student['score']
    if score > max_score:
        max_score = score
        
print(max_score)
for student in students:
    if student['score'] == max_score:
    print(student['name'])

​ f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)


#按照顺序取出分数
for i in range(len(students)-1):
    #每个循环中比较数
    for j in range(len(students)-i-1):
        if students[j]['score'] < students[j + 1]['score']:
            students[j]['score'], students[j + 1]['score'] = students[j + 1]['score'], students[j]['score']
print(students)

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

science = ['小冯', '小花', '小马', '小张']
english = ['小冯', '如花', '小红','小张','小龙']
chemistry = ['小冯', '小光', '小李']
set_science = set(science)
set_english = set(english)
set_chemistry = set(chemistry)

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

count = 0
for _ in (set_science | set_chemistry | set_english):
    count += 1
print(count)
b. 求只选了第一个学科的人的数量和对应的名字
count = 0
for _ in (set_science - set_english - set_chemistry):
    count += 1
print(count, set_science - set_english - set_chemistry)

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

count = 0
for _ in ((set_science ^ set_english ^ set_chemistry) - (set_english & set_chemistry & set_science)):
    count += 1
print(count, ((set_science ^ set_english ^ set_chemistry) - (set_english & set_chemistry & set_science)))
d. 求只选了两门学科的学生的数量和对应的名字
count = 0
for _ in (set_science & set_english - set_chemistry)|( set_english & set_chemistry\
- set_science )|(set_chemistry & set_science - set_english  ):
    count += 1
print(count, (set_science & set_english - set_chemistry)|( set_english & set_chemistry\
- set_science )|(set_chemistry & set_science - set_english  ))

​ e. 求选了三门学生的学生的数量和对应的名字

count = 0
for _ in (set_science & set_english & set_chemistry):
    count += 1
print(count, set_science & set_english & set_chemistry)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    是喵啊阅读 437评论 0赞 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    归墟_a3c1阅读 364评论 0赞 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    Error_2d57阅读 397评论 0赞 1
  • 元组 1.什么是元组(tuple) python提供的容器型数据类型,不可变并且有序。(元组就是不可变的列表)不可...
    PIECE_MAN阅读 510评论 0赞 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    蓝色骨头_3f91阅读 241评论 0赞 1

友情链接更多精彩内容