用字典来保存学生的信息.
- 学生信息包括:学号(id)、姓名(name)、性别(sex)、语文成绩(verbal)、数学成绩(math)、联系电话(tel)
students = [
{'id': 1001, 'name': '周伟', 'sex': None, 'verbal': 90, 'math': 90, 'tel': '13512345670'},
{'id': 1002, 'name': '赵刚', 'sex': True, 'verbal': 56, 'math': 80, 'tel': '13512345678'},
{'id': 1003, 'name': '李强', 'sex': True, 'verbal': 48, 'math': 70, 'tel': '13512345680'},
{'id': 1004, 'name': '刘毅', 'sex': None, 'verbal': 92, 'math': 60, 'tel': '13512345688'},
{'id': 1005, 'name': '孙坚', 'sex': True, 'verbal': 85, 'math': 50, 'tel': '13512345698'},
{'id': 1006, 'name': '王小美', 'sex': False, 'verbal': 37, 'math': 40, 'tel': '13512345699'},
]
-
输出语文成绩不及格学生的人数(假设成绩为百分制,及格分数为
60
分)。failed_Chinese_num = len(list(filter(lambda x:x['verbal']<60,students))) print(failed_Chinese_num)
-
输出数学成绩不及格学生的学号、姓名和成绩(假设成绩为百分制,及格分数为
60
分)。failed_math= list(filter(lambda x:x['math']<60,students)) for i in failed_math: print(i['id'],i['name'],i['verbal'])
-
输出联系电话尾号为
8
的学生的学号和姓名。res = list(filter(lambda x:x['tel'][-1]=='8',students)) for i in res: print(i['id'],i['name'])
-
删除学生列表中性别为
None
的学生。for i in students: if not i['sex']: students.remove(i)
-
输出男学生和女学生的平均成绩(分别为语文和数学两门课程)。
male = [] # 男生成绩列表 female = [] # 女生成绩列表 for student in students: if student['sex']: male.append([student['verbal'],student['math']]) else: female.append([student['verbal'],student['math']]) sum_male_verbal=0 男生语文总成绩 sum_male_math=0 男生数学总成绩 sum_female_verbal=0 女生语文总成绩 sum_female_math=0 女生数学总成绩 for verbal in male: sum_male_verbal += verbal[0] print("男生语文平均成绩:",sum_male_verbal/len(male)) for math in male: sum_male_math += math[1] print("男生数学平均成绩:",sum_male_math/len(male)) for verbal in female: sum_female_verbal += verbal[0] print("女生语文平均成绩:",sum_female_verbal/len(female)) for math in male: sum_female_math += math[1] print("女生数学平均成绩:",sum_female_math/len(female))
- 非常感谢小伙伴们能看到这里,如果能还能点个赞,那就是对我最大的鼓励!