2019-04-24 DAY8 作业

1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话
message1={'name':'张三',
         'age':20,
         'grade':70,
         'telephone':'112'
         }
2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
message2={'name':'小明',
          'age':22,
          'grade':50,
          'telephone':'123',
          }
message3={'name':'小红',
          'age':27,
          'grade':99,
          'telephone':'562',
          }
message4={'name':'小王',
          'age':19,
          'grade':59,
          'telephone':'568',
          }
message5={'name':'小李',
          'age':17,
          'grade':77,
          'telephone':'114',
          }
message6={'name':'小超',
          'age':20,
          'grade':25,
          'telephone':'115',
          }
t=[message1,message2,message3,message4,message5,message6]
a.统计不及格学生的个数
count =0
for item in t:
    if item['grade']<60:
        count +=1
print(count)
b.打印不及格学生的名字和对应的成绩
for item in t:
    if item['grade']<60:
        print(item['name'],item['grade'])

c.统计未成年学生的个数
count=0
for item in t:
    if item['age']<18:
        count+=1
print(count)
d.打印手机尾号是8的学生的名字
for item in t:
    if item['telephone'][len(item['telephone'])-1]=='8':
        print(item['name'])

e.打印最高分和对应的学生的名字
i=0
for item in t:
    if item['grade']>i:
        i=item['grade']
        n=item['name']
print(i,n)

f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
t1=[]
t2=[]
t3=[]
for item in t:
    t1.append(item['grade'])
t1.sort(reverse=True)
t3=list(set(t1))
for x in t3:
    for item2 in t:
        if x==item2['grade']:
            t2.append(item2)
print(t2)
3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
english=['小张','小明','小王','小马']
math=['小红','小马','小李']
physical=['小红','小王','小马','小李']
a. 求选课学生总共有多少人
print(len(set(english)|set(math)|set(physical)))
b. 求只选了第一个学科的人的数量和对应的名字
print(len(english))
for name in english:
    print(name,end=' ')
print()

c. 求只选了一门学科的学生的数量和对应的名字
print(len(set(english)&set(math)&set(physical)),end=' ')
print(''.join(set(english)&set(math)&set(physical)))
d. 求只选了两门学科的学生的数量和对应的名字

set1=set(english)
set2=set(math)
set3=set(physical)
set4=(set1&set2)|(set1&set3)|(set2&set3)
set5=set4-(set1&set2&set3)
print(' '.join(set5))
e. 求选了三门学生的学生的数量和对应的名字

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

推荐阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话student = {'nam...
    嘿嘿_9c52阅读 3,301评论 0 0
  • 1 声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 结果 {'name': 'a...
    生命在于不睡觉阅读 1,891评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    蓝色骨头_3f91阅读 1,553评论 0 1
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    不语sun阅读 1,486评论 0 0
  • 人生充满起伏变化, 很多时候自己的想法、计划都无法实现, 但不管在什么情况下, 都要提醒自己: 暇满难得,今已得;...
    曾路阅读 3,456评论 0 0

友情链接更多精彩内容