day7 ——作业

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

student = {'name': '小华', 'age': 20, 'score': 80, 'tel': 1398765999, 'gender': '男'}

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

all_student = [
    {'name': '小华', 'age': 20, 'score': 80, 'tel': '1398765998', 'gender': '男'},
    {'name': '小明', 'age': 25, 'score': 60, 'tel': '1288765999', 'gender': '男'},
    {'name': '小红', 'age': 18, 'score': 54, 'tel': '1589097799', 'gender': '女'},
    {'name': '小张', 'age': 19, 'score': 70, 'tel': '1390005999', 'gender': '不明'},
    {'name': '小王', 'age': 28, 'score': 90, 'tel': '1508888888', 'gender': '男'},
    {'name': '小李', 'age': 30, 'score': 40, 'tel': '1392222222', 'gender': '男'}

]

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

t = 0
for student in all_student:
    if student['score'] < 60:
        t += 1
print(t)

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

for student in all_student:
    if student['score'] < 60:
        print(student['name'], student['score'])

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

a = 0
for student in all_student:
    if student['age'] < 18:
        a += 1
print(a)

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

for student in all_student:
    tel1 = list(student['tel'])
    # print(tel1)
    x = tel1[-1]
    # print(x)
    if x == '8':
        print(student['name'])

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

max_score = 0
for student in all_student:
    tel2 = student['score']
    if tel2 >= max_score:
        max_score = tel2
print('最高分是:', max_score)
for student in all_student:
    if student['score'] == max_score:
        print('最高分对应的学生是:', student['name'])

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



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

for student in all_student[:]:
    if student['gender'] == '不明':
        all_student.remove(student)
print(all_student)

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

a. 求选课学生总共有多少人
b. 求只选了第一个学科的人的数量和对应的名字
c. 求只选了一门学科的学生的数量和对应的名字
d. 求只选了两门学科的学生的数量和对应的名字
e. 求选了三门学生的学生的数量和对应的名字

python = ['小红', '小明', '小米', '小王', '张飞', '赵云']
math = ['刘备', '小乔', '小红', '张飞']
english = ['大乔', '小红', '刘备', '赵云']
new_python = set(python)
new_math = set(math)
new_english = set(english)

# a.
t = 0
A = new_python | new_math | new_english
for x in A:
    t += 1
print('选课学生总数:', t)

# b.
t = 0
list1 = []
for x in python:
    list1.append(x)
    t += 1
print('只选了第一个学科的人数:', t, list1)

# c.
B = new_python ^ new_math ^ new_english ^ (new_math & new_python & new_english)
t = 0
list2 = []
for x in B:
    list2.append(x)
    t += 1
print('只选了一门学科的人数:', t, list2)

# d
C = ((new_python & new_math) | (new_python & new_english) | (new_math & new_english)) ^ (new_python & new_math & new_english)
t = 0
list3 = []
for x in C:
    list3.append(x)
    t += 1
print('只选2门学科的人数:', t, list3)

# e
D = new_python & new_math & new_english
t = 0
list4 = []
for x in D:
    list4.append(x)
    t += 1
print('选了3门学科的人数:', t, list4)

结果:

选课学生总数: 9
只选了第一个学科的人数: 6 ['小红', '小明', '小米', '小王', '张飞', '赵云']
只选了一门学科的人数: 5 ['小乔', '小明', '小米', '小王', '大乔']
只选2门学科的人数: 3 ['赵云', '张飞', '刘备']
选了3门学科的人数: 1 ['小红']

Process finished with exit code 0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    数番番阅读 277评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    略略略_29fd阅读 283评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    风月辞寒阅读 225评论 0 0
  • 说起质量故事,远一点地不得不提到“三鹿”的奶粉事件,当时不仅对企业毁灭性打击,同时深深地伤害了国民感情,造成国内奶...
    请叫我徐老师x阅读 343评论 0 0
  • 我想我终究是学不会和女生相处的。最早很小的时候在外婆家,两家人为了鸡毛蒜皮的是吵得不得了,恰恰对面家都是女生,他们...
    泉的文阅读 231评论 0 1