day7作业

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

student = {'name': '小花', 'age': 17, 'score': 87, 'tel': '18709972799', 'gender': '女'}

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

all_student = [    
{'name': '黑子', 'age': 15, 'score': 69, 'tel': 18709972799, 'gender': '男'},
{'name': '青锋', 'age': 19, 'score': 30, 'tel': 18709972798, 'gender': '男'}, 
{'name': '赤司', 'age': 18, 'score': 98, 'tel': 18709972797, 'gender': '男'},   
 {'name': '黄獭', 'age': 17, 'score': 90, 'tel': 18709972796, 'gender': '不明'},    
{'name': '绿间', 'age': 19, 'score': 80, 'tel': 18709972795, 'gender': '男'},    
{'name': '紫原', 'age': 17, 'score': 50, 'tel': 18709972794, 'gender': '男'}]

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

num = 0
for x in all_student:    
    if x.get('score') < 60:        
        num += 1
print(num)

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

for x in all_student:    
    if x.get('score') < 60:        
        print(x.get('name'),x.get('score'))

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

num = 0
for x in all_student:    
if x.get('age') < 18:        
    num += 1
print(num)

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

for x in all_student:    
    if x.get('tel') % 10 == 8:        
        print(x.get('name'))

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

max_score = 0
for x in all_student:    
    if x.get('score') > max_score:        
        max_score = x.get('score')        
        y = x
print(y.get('name'), y.get('score'))

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

list1 = []
for x in all_student:    
    list1.append(x.get('score'))
list1.sort(reverse=True)
for x in list1:    
    for y in all_student:        
        if x == y.get('score'):            
            all_student.remove(y)         
            all_student.append(y)
print(all_student)

​ g.删除性别不明的所有学生

for x in all_student:    
    if x.get('gender') == '不明':        
        all_student.remove(x)
print(all_student)

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

Math = ['青峰', '黄濑', '绿间', '黑子', '七月', '火神']
Music = ['日向', '黑子', '火神', '七月', '孙仁', '孙权']
English = ['青峰', '日向', '黄濑', '七月', '孙策']

math = set(Math)
music = set(Music)
english = set(English)

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

a = math | music | english
print(len(a))
b. 求只选了第一个学科的人的数量和对应的名字
b = (math - music) - english
print(len(b), b)

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

c = math ^ music ^ english
print(len(c), c)
d. 求只选了两门学科的学生的数量和对应的名字
d = a - c - (music & math & english)
print(len(d), d)

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

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

相关阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    数番番阅读 1,882评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    ______n___阅读 1,405评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    浩子_唯一号阅读 1,950评论 0 1
  • 作为蚂蜂窝自由行APP的运营人员,我们最近正在积极的推广自家的产品,现在我们需要产出一些优质的推广文案。 为了写出...
    独木桥和狼阅读 10,259评论 0 7
  • 2018年2月7日星期三 儿子最近彻底变成小吃货了,老人看孩子,什么都听孩子的,只要孩子听话就行。儿子在家一天喝了...
    妮妮哲阅读 1,085评论 0 6

友情链接更多精彩内容