DAY8作业

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

student1 = {'姓名':'小强','年龄':'22','成绩':'99','电话':'123456789'}
student2 = {'姓名':'小王','年龄':'16','成绩':'75','电话':'223456788'}
student3 = {'姓名':'小张','年龄':'24','成绩':'92','电话':'323456789'}
student4 = {'姓名':'小李','年龄':'21','成绩':'88','电话':'423456789'}
student5 = {'姓名':'小胡','年龄':'17','成绩':'58','电话':'523456788'}
student6 = {'姓名':'小黄','年龄':'22','成绩':'82','电话':'623456789'}

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

data = [student1,student2,student3,student4,student5,student6]

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

count = 0
for stu in data:
    if int(stu.get('成绩')) < 60:
        count += 1
print('不及格学生有:%d个' % count)

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

for stu in data:
    if int(stu.get('成绩')) < 60:
        print(stu.get('姓名'),stu.get('成绩'),'分')

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

count1 = 0
for stu in data:
    if int(stu.get('年龄')) < 18:
        count1 += 1
print('未成年学生有:%d个'% count)

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


for stu in data:
    str1 = stu['电话']
    if str1[-1] == '8':
        print(stu['姓名'],str1)

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


max_score = 0
name = []
for stu in data:
    if stu['成绩'] >= str(max_score):
        max_score = stu['成绩']

    if stu['成绩'] == str(max_score):
        name.append(stu['姓名'])
print(name, max_score)

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

length = len(data)
for i in range(0,length-1):
    for j in range(i+1,length):
        if data[j]['成绩'] > data[i]['成绩']:
            data[j],data[i] = data[i],data[j]
print(data)

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

A = ['小强','小王','小张','小黄']
B = ['小强','小王','小李','小高']
C = ['小赵','小王','小李','小高']

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

new_list = set(A) | set(B) | set(C)
print(new_list)

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

new_list1 = set(A) - set(B) - set(C)
new_list2 = list(new_list1)
num = len(new_list2)
print(new_list1,num,'个')

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

only_one = (set(A) - set(B) - set(C)) | (set(B) - set(A) - set(C)) | (set(C) - set(B) - set(A))
print(only_one)

#     d. 求只选了两门学科的学生的数量和对应的名字
```python
new_set = (set(A) & set(B) - set(C)) | ((set(A) & set(C) - set(B)) | set(C) & set(B) - set(A))
print(new_set,len(list(new_set)),'个')

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

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

相关阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    蓝色骨头_3f91阅读 231评论 0 1
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 stu_info = {'n...
    XXXXStone阅读 277评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    是喵啊阅读 407评论 0 0
  • 六月 || 像个傻子一样开心的行着 五月走了,六月来了。 六月末的时候重新听《天空之城》这首歌,喜欢上了它,这首歌...
    凌檬梓阅读 700评论 0 1
  • 每天记录我的那个他,你从来不知道我叫什么,就是个陌生人,可今天有幸跟你一起赏月,我们也是呼吸同个空气,我就释怀了。...
    帅气anner阅读 229评论 0 0

友情链接更多精彩内容