day07-作业

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

student = {'name': '小明', 'age': 18, 'score': 99, 'tel': 12345678910, 'gender': '男'}

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

nums = [
    {'name': '小明', 'age': 18, 'score': 99, 'tel': 12345678910, 'gender': '男'},
    {'name': '小花', 'age': 17, 'score': 89, 'tel': 27876527878, 'gender': '女'},
    {'name': '小军', 'age': 21, 'score': 69, 'tel': 82727287725, 'gender': '男'},
    {'name': '小芳', 'age': 20, 'score': 35, 'tel': 15773733833, 'gender': '女'},
    {'name': '小红', 'age': 17, 'score': 75, 'tel': 89855725256, 'gender': '女'},
    {'name': '狗蛋', 'age': 18, 'score': 88, 'tel': 17786875855, 'gender': '不明'}
    ]
# a.统计不及格学生的个数
n = 0
for student in nums:
    if student['score'] < 60:
        n += 1
print('不及格学生的个数:', n)

# b.打印不及格学生的名字和对应的成绩
for student in nums:
    if student['score'] < 60:
        print(student['name'], student['score'])

# c.统计未成年学生的个数
m = 0
for student in nums:
    if student['age'] < 18:
        m += 1
print('未成年学生个数:', m)

# d.打印手机尾号是8的学生的名字
for student in nums:
    tel = student['tel']
    # print(tel, type(tel))
    if tel % 10 == 8:
        print('手机尾号为8的学生:', student['name'])

# e.打印最高分和对应的学生的名字
max_student = 0
for student in nums:
    if max_student < student['score']:
        max_student = student['score']
        print('最高分数:', max_student, '学生姓名:', student['name'])

# f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)   成绩(grade)
for i in range(6):
    for j in range(0, 6 - i - 1):
        if nums[j]['score'] < nums[j + 1]['score']:
            nums[j], nums[j + 1] = nums[j + 1], nums[j]
print(nums)

# g.删除性别不明的所有学生
nums1 = []
for i in range(6):
    if nums[i]['gender'] != '不明':
        nums1.append(nums[i])
print('新:', nums1)

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

chinese = ['a', 'b', 'c', 'd']
math = ['b', 'c', 'r', 'f', 'p']
english = ['q', 'a', 'v', 't', 'f', 'i', 'c']

chinese = set(chinese)
math = set(math)
english = set(english)
# a. 求选课学生总共有多少人
print('选课总人数:', len(chinese | math | english))

#  b. 求只选了第一个学科的人的数量和对应的名字
num = chinese - math - english
print('只选择了第一个学科的人的数量:', len(num), str(num))

# c. 求只选了一门学科的学生的数量和对应的名字
num1 = chinese - math - english
num2 = math - english - chinese
num3 = english - chinese - math
num4 = num1 | num2 | num3
print('选择一门学科学生数量:', len(num4), num4)

#  d. 求只选了两门学科的学生的数量和对应的名字
num5 = chinese & math
num6 = chinese & english
num7 = math & english
num8 = num5 | num6 | num7
num9 = chinese & math & english
num10 = num8 - num9
print('选择两门学科的学生数量:', len(num10), num10)

# e. 求选了三门学生的学生的数量和对应的名字
num9 = chinese & math & english
print('选择三门学科的学生:', len(num9), num9)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    oct___d38e9阅读 251评论 0 0
  • 1.声明一个字典保存一个学生的信息, 学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2....
    oct___越来越2阅读 91评论 0 1
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    8ba474596e75阅读 168评论 0 0
  • 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) 2.声...
    坐等抱大腿的鬼鬼阅读 232评论 0 0
  • 1.已知一个数字列表,求列表中心元素。 2.已知一个数字列表,求所有元素和。 3.已知一个数字列表,输出所有奇数下...
    刘茂森阅读 375评论 0 0

友情链接更多精彩内容