4.students = [
{'name': '张三', 'age': 18, 'score': 52, 'tel': '1388888998', 'gender': 'female'},
{'name': '李四', 'age': 28, 'score': 89, 'tel': '1388666666', 'gender': 'male'},
{'name': '王五', 'age': 21, 'score': 95, 'tel': '1365588889', 'gender': 'unknown'},
{'name': 'jerry', 'age': 20, 'score': 90, 'tel': '156666789', 'gender': 'unknown'},
{'name': 'chris', 'age': 17, 'score': 98, 'tel': '13777775523', 'gender': 'male'},
{'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'},
{'name': 'tony', 'age': 15, 'score': 93, 'tel': '1388888888', 'gender': 'unknown'}]
(1) 统计不及格学生的个数
(2) 打印不及格学生的名字和对应的成绩
(3) 统计未成年学生的个数
(4) 打印手机尾号是8的学生的名字
(5) 打印最高分和对应的学生的名字
(6) 删除性别未知的所有学生
(7) 将列表按学生成绩从大到小排序
students = [
{'name': '张三', 'age': 18, 'score': 52, 'tel': '1388888998', 'gender': 'female'},
{'name': '李四', 'age': 28, 'score': 89, 'tel': '1388666666', 'gender': 'male'},
{'name': '王五', 'age': 21, 'score': 95, 'tel': '1365588889', 'gender': 'unknown'},
{'name': 'fuck', 'age': 20, 'score': 90, 'tel': '156666789', 'gender': 'unknown'},
{'name': 'chris', 'age': 17, 'score': 98, 'tel': '13777775523', 'gender': 'male'},
{'name': 'jack', 'age': 23, 'score': 52, 'tel': '13999999928', 'gender': 'female'},
{'name': 'tony', 'age': 15, 'score': 93, 'tel': '1388888888', 'gender': 'unknown'}]
#打印不及格学生人数
countGrade = 0
grades=[]
for grade in students:
if grade['score'] < 60:
countGrade+=1
print(countGrade)
#函数写法
# def grade(stu):
# grades=[]
# countGrade = 0
# for grade in stu:
# if(grade['score']<60):
# countGrade+=1
# print(countGrade)
#grade(students)
#打印不及格学生的名字和对应的成绩
# for grade in students:
# if grade['score'] < 60:
# print(grade['name'],grade['score'])
#函数写法
def haha(stu):
for grade in stu:
if grade['score'] < 60:
print(grade['name'],grade['score'])
haha(students)
#统计未成年学生的个数
# ages = 0
# for age in students:
# if age['age'] < 18:
# ages += 1
# print(ages)
#函数写法
def young(stu):
ages = 0
for age in students:
if age['age']<18:
ages+=1
print(ages)
young(students)
#打印手机尾号是8的学生的名字
# eight = 0
# for number in students:
# if int(number['tel'])%10 == 8:
# eight+=1
# print(eight)
#函数写法
def numbers(stu):
eight = 0
for number in students:
if int(number['tel'])%10 == 8:
eight += 1
print(eight)
numbers(students)
#打印最高分和对应的学生的名字
maxGrade = students[0]
for item in students:
if maxGrade['score'] < item['score']:
maxGrade = item
print(maxGrade['name'],maxGrade['score'])
#列表按学生成绩从小到大排序
n = len(students)
for i in range(0, n-2):
for j in range(0, n-1-i):
if int(students[j].get('score')) < int(students[j+1].get('score')):
students[j+1],students[j] = students[j],students[j+1]
print(students)
#删除所有性别未知的学生
for i in students:
if i['gender'] == 'unknown':
students.remove(i)
print(students)



