python基础教学day8-作业

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

all_students = {'姓名': '李1', 'age': 28, 'grade': 98, 'tel': '12345678901'}

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

student_system = [{'姓名': '李1', 'age': 28, 'grade': 98, 'tel': '12345678909'},
                  {'姓名': '李2', 'age': 18, 'grade': 68, 'tel': '12345678908'},
                  {'姓名': '李3', 'age': 8, 'grade': 38, 'tel': '12345678906'},
                  {'姓名': '李4', 'age': 15, 'grade': 78, 'tel': '12345678905'},
                  {'姓名': '李5', 'age': 31, 'grade': 95, 'tel': '12345678908'},
                  {'姓名': '李6', 'age': 19, 'grade': 92, 'tel': '12345678902'}]

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

count = 0
for stu_dict in student_system:
    if stu_dict['grade'] < 60:
        count += 1
print('不及格学生个数为:%d' % count)

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

for stu_dict in student_system:
    if stu_dict['grade'] < 60:
        print('不及格学生姓名:%s' % stu_dict['姓名'], '分数:%d' % stu_dict['grade'])

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

count = 0
for stu_dict in student_system:
    if stu_dict['age'] < 18:
        count += 1
print('未成年学生个数为: %d' % count)

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

for stu_dict in student_system:
    num = stu_dict['tel']
    if int(num[-1]) == 8:
        print('手机尾号是8的学生的名字: %s' % stu_dict['姓名'])

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

max_grade = 0
for stu_dict in student_system:
    if max_grade < stu_dict['grade']:
        max_grade = stu_dict['grade']
print('最高分数为: %d' % max_grade)
for stu_dict in student_system:
    if stu_dict['grade'] == max_grade:
        print(stu_dict['姓名'])

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

length = len(student_system)
for i in range(length - 1):
    for j in range(i+1, length):
        if student_system[i]['grade'] < student_system[j]['grade']:
            student_system[i], student_system[j] = student_system[j], student_system[i]
print(student_system)

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

python = ['李白', 'MJ', 'AI']
java = ['小白', '小明', '李牧', '李白']
h5 = ['李白', '小白', '李好']
set1 = set(python)
set2 = set(java)
set3 = set(h5)

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

set4 = (set1 | set2 | set3)
print(len(set4))

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

set4 = (set1 -(set1 & set2) - (set1 & set3))
print(set4)
print(len(set4))

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

set4= (set1 | set2 | set3)-(set1 & set2) -(set1 & set3) - (set2 & set3)
print(set4)
print(len(set4))

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

set4 = ((set1 & set2) | (set2 & set3) | (set1 & set3))-(set1 & set2 & set3)
print(set4)
print(len(set4))

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

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

推荐阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    归墟_a3c1阅读 1,579评论 0 0
  • day8-作业 1. 声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 stu_m...
    Octane阅读 1,950评论 0 1
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    蓝色骨头_3f91阅读 1,443评论 0 1
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话 2.声明一个列表,在列表中保...
    不语sun阅读 1,345评论 0 0
  • 今天,阳光明媚,我去了明潭公园写生。 老师先让我们找到自己喜欢的花,再坐下等着老师给我们演示。我画的是樱花。 ...
    东方不败123阅读 1,722评论 0 1