day6作业

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

student = {
    'name': '王二',
    'age': 20,
    'score': 70,
    'tel': 12345,
    'sex': '男'
}

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

students = [
    {'name': '王二', 'age': 17, 'score': 70, 'tel': 12345, 'sex': '男'},
    {'name': '张三', 'age': 25, 'score': 55, 'tel': 23456, 'sex': '女'},
    {'name': '李四', 'age': 21, 'score': 99, 'tel': 45678, 'sex': '男'},
    {'name': '麻子', 'age': 20, 'score': 70, 'tel': 12345, 'sex': '男'},
    {'name': '新风', 'age': 16, 'score': 60, 'tel': 12345, 'sex': '女'},
    {'name': '樱木花道', 'age': 22, 'score': 50, 'tel': 14578, 'sex': '性别不明'}
]

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

count = 0
for x in students:
    if x['score'] < 60:
        count += 1
print(count)

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

for x in students:
    if x['score'] < 60:
        print(x['name'], x['score'])

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

count = 0
for x in students:
    if x['age'] < 18:
        count += 1
print(count)

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

for x in students:
                     #  print(type(x['tel']))
    x['tel']
    if x['tel'] % 10 == 8:
        print(x['name'])

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

a = 0
for x in students:
    if x['score'] >= a:
        a = x['score']
        print(x['name'], x['score'])

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

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

for x in students:
    if x['sex'] == '性别不明':
        del x['sex']
print(students)

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

math = ['小新', '风间', '阿呆', '猎豹']
sport = ['小新', '妮妮', '猎豹']
handwork = ['妮妮', '正男', '猎豹']

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

a1 = math + sport + handwork
a2 = []
print(a1)
for x in a1:
    if x not in a2:
        a2.append(x)
print(len(a2))
b. 求只选了第一个学科的人的数量和对应的名字
count = 0
for x in math:
    if x not in sport:
        if x not in handwork:
            count += 1
            print(x)
print(count)

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

new_a1 = []
for x in a1:
    if a1.count(x) == 1:
        if x not in new_a1:
            new_a1.append(x)
print(new_a1, len(new_a1))
d. 求只选了两门学科的学生的数量和对应的名字
new_a1 = []
for x in a1:
    if a1.count(x) == 2:
        if x not in new_a1:
            new_a1.append(x)
print(new_a1, len(new_a1))

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

new_a1 = []
for x in a1:
    if a1.count(x) == 3:
        if x not in new_a1:
            new_a1.append(x)
print(new_a1, len(new_a1))
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页