2019-11-12day7作业

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

student1={'姓名': '小明',  '性别': '男', '年龄': 20, '成绩(单科)':91,'联系方式': 123}

2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
a.统计不及格学生的个数
b.打印不及格学生的名字和对应的成绩
c.统计未成年学生的个数
d.打印手机尾号是8的学生的名字
e.打印最高分和对应的学生的名字
f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
g.删除性别不明的所有学生

student1={'姓名': '小明',  '性别': '男', '年龄': 16, '成绩(单科)':54,'联系方式': 123}
student2={'姓名': '小红',  '性别': '女', '年龄': 22, '成绩(单科)':91,'联系方式': 234}
student3={'姓名': '小李',  '性别': '不明', '年龄': 22, '成绩(单科)':44,'联系方式': 345}
student4={'姓名': '小美',  '性别': '不明', '年龄': 15, '成绩(单科)':63,'联系方式': 456}
student5={'姓名': '李雷',  '性别': '男', '年龄': 21, '成绩(单科)':81,'联系方式': 567}
student6={'姓名': '韩梅梅',  '性别': '女', '年龄': 27, '成绩(单科)':99,'联系方式': 678}
list1=[student1,student2,student3,student4,student5,student6]
num=0
for x in list1:
    if x['成绩(单科)']<60:
        num+=1
        print(x['姓名'],x['成绩(单科)'])#b.打印不及格学生的名字和对应的成绩
print(num)#a.统计不及格学生的个数

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

for x in list1:
    if x['年龄']<18:
        num+=1
print(num)

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

for x in list1:
    list2=x['联系方式']
    if list2%10==8:
        print(x['姓名'])

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

a=[0]
for x in list1:
   if x['成绩(单科)']>a[0]:#a[下标]下标操作
       a = x['成绩(单科)'], x['姓名']
print(a)

f.将列表按学生成绩从大到小排序

a=[0]
b=[]
c=[]
for x in list1:
    c.append(x['成绩(单科)'])
d=sorted(c,reverse=True)
for y in range(len(d)):
    for x in list1:
        if d[y]==x['成绩(单科)']:
            d[y]=x
print(d)
g.删除性别不明的所有学生g.删除性别不明的所有学生

for x in list1:
    if x['性别']=='不明':
        list1.remove(x)
print(list1)

3.用三个列表表示三门学科的选课学生姓名(一个学生可以同时选多门课)
a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字

tianzai=['谜团','斧王','剑圣','莱恩','小Y','幽鬼','食尸鬼','白牛',]
jinwei=['谜团','火枪','剑圣','莱恩','小Y','风行','蓝猫','斧王']
zhongli=['风行','蓝猫','剑圣','莱恩','小Y','火猫','幽鬼','食尸鬼']

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

list1=list(set(jinwei+tianzai+zhongli))
print(list1)
b. 求只选了第一个学科的人的数量和对应的名字
list2=list(set(tianzai)-set(jinwei)-set(zhongli))
print(list2)

c. 求只选一个学科的人的数量和对应的名字

set2=set(tianzai+jinwei+zhongli)
list3=list((set2-set(tianzai+jinwei))|(set2-set(jinwei+zhongli))|(set2-set(tianzai+zhongli)))
print(list3)

d. 求只选了两门学科的学生的数量和对应的名字

list4=list(((set(tianzai)&set(jinwei))|(set(tianzai)&set(zhongli)))^(set(jinwei)&set(zhongli)))
print(list4)

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

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

相关阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    归墟_a3c1阅读 346评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    Shyerjouniewin阅读 239评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    晓晓_007f阅读 303评论 0 0
  • day8-作业 1. 声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 stu_m...
    Octane阅读 379评论 0 1
  • 哈喽,大家好,我是晓冬,晓冬是我 今天是认识罗品牌的一个月的时间,之前一直听老大说罗品牌很厉害,从线下听他的课程到...
    薛晓冬阅读 196评论 0 0

友情链接更多精彩内容