使用一个变量all_students保存一个班的学生信息(4个),每个学生需要保存:姓名、年龄、成绩、电话
all_students = [
{'name':'stu1', 'age': 19, 'score':81, 'tel':'192222'},
{'name':'stu2', 'age': 29, 'score':90, 'tel':'211222'},
{'name':'stu3', 'age': 12, 'score':67, 'tel':'521114'},
{'name':'stu4', 'age': 30, 'score':45, 'tel':'900012'},
]
1.添加学生:输入学生信息,将输入的学生的信息保存到all_students中
例如输入:
姓名: 小明
年龄: 20
成绩: 100
电话: 111922
那么就在all_students中添加{'name':'小明', 'age': 20, 'score': 100, 'tel':'111922'}
2.按姓名查看学生信息:
例如输入:
姓名: stu1 就打印:'name':'stu1', 'age': 19, 'score':81, 'tel':'192222'
3.求所有学生的平均成绩和平均年龄
4.删除班级中年龄小于18岁的学生
5.统计班级中不及格的学生的人数
6.打印手机号最后一位是2的学生的姓名
错误
all_students = [
{'name':'stu1', 'age': 19, 'score':81, 'tel':'192222'},
{'name':'stu2', 'age': 29, 'score':90, 'tel':'211222'},
{'name':'stu3', 'age': 12, 'score':67, 'tel':'521114'},
{'name':'stu4', 'age': 30, 'score':45, 'tel':'900012'},
]
all_students.append({'name': '小明', 'age': 20, 'score': 100, 'tel': '111922'})
print(all_students)
print(all_students[0])
sum1 = 0 # 学生的总成绩
sum2 = 0 # 学生的总年龄
count1 = 0 # 学生数
count2 = 0 # 不及格学生数
for index in all_students:
sum1 += index['score']
sum2 += index['age']
count1 += 1
if index['score'] < 60:
count2 += 1
for index in all_students:
sum1 += index['score']
sum2 += index['age']
count1 += 1
if index['tel'][-1] == '2':
print('%s同学的手机号最后一位为2' % (index['name']))
for index in all_students:
sum1 += index['score']
sum2 += index['age']
count1 += 1
if index['age'] < 18:
all_students.remove(index)
print('全班的平均成绩为%d' % (sum1/count1))
print('全班的平均年龄为%d' % (sum2/count1))
print('全班不及格的人数为%d个' % (count2))
print(all_students)
显示结果有误,移除未切片
all_students = [
{'name':'stu1', 'age': 19, 'score':81, 'tel':'192222'},
{'name':'stu2', 'age': 29, 'score':90, 'tel':'211222'},
{'name':'stu3', 'age': 12, 'score':67, 'tel':'521114'},
{'name':'stu4', 'age': 30, 'score':45, 'tel':'900012'},
]
all_students.append({'name': '小明', 'age': 20, 'score': 100, 'tel': '111922'})
print(all_students)
print(all_students[0])
sum1 = 0 # 学生的总成绩
sum2 = 0 # 学生的总年龄
count1 = 0 # 学生数
count2 = 0 # 不及格学生数
for index in all_students[:]:
sum1 += index['score']
sum2 += index['age']
count1 += 1
print('成绩',index['score'])
if index['score'] < 60:
count2 += 1
if index['tel'][-1] == '2':
print('%s同学的手机号最后一位为2' % (index['name']))
if index['age'] < 18:
all_students.remove(index)
print('全班的平均成绩为%d' % (sum1/count1))
print('全班的平均年龄为%d' % (sum2/count1))
print('全班不及格的人数为%d个' % (count2))
print(all_students)
网友评论