字典列表作业

# 1.声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明)
stu = {
    
    '姓名': '小明', 'age': 18, '成绩': 78, '电话': '123456', '性别': '不明'}

# 2.声明一个列表,在列表中保存6个学生的信息(6个题1中的字典)
# 	a.统计不及格学生的个数
# 	b.打印不及格学生的名字和对应的成绩
# 	c.统计未成年学生的个数
# 	d.打印手机尾号是8的学生的名字
# 	e.打印最高分和对应的学生的名字
# 	f.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
#   g.删除性别不明的所有学生
studens = [
    {
    
    '姓名': '小a', 'age': 18, '成绩': 78, '电话': '123456', '性别': '不明'},
    {
    
    '姓名': '小b', 'age': 19, '成绩': 80, '电话': '123456', '性别': '不明'},
    {
    
    '姓名': '小c', 'age': 20, '成绩': 80, '电话': '123458', '性别': '不明'},
    {
    
    '姓名': '小d', 'age': 21, '成绩': 45, '电话': '123456', '性别': '不明'},
    {
    
    '姓名': '小e', 'age': 15, '成绩':  7, '电话': '123458', '性别': '不明'},
    {
    
    '姓名': '小f', 'age': 23, '成绩': 78, '电话': '123456', '性别': '不明'},
]
g_grade=0
s_age=0

max_grade=0

for grade in range(len(studens)):
    age1=studens[grade]['age']
    cj=studens[grade]['成绩']
    p_numb=studens[grade]['电话'][-1]

    if cj<60:
        g_grade+=1
        print(studens[grade]['姓名'],studens[grade]['成绩'])
    else:
        max_grade=studens[0]['成绩']
        for i in studens[1:]:
            grades1=i['成绩']
            if grades1 > max_grade:
                max_grade=grades1
        print('最高分:',max_grade)
        for j in studens:
            if j['成绩']==max_grade:
                print(j['姓名'])
    if age1 <18:
        s_age+=1
    if '8' == p_numb:
        print('尾号是8的学生有',studens[grade]['姓名'])

print('不及格的学生有',g_grade,'个','未成年的学生有:',s_age,'个')


grades=[]
studens_list=[]
for grade in range(len(studens)):

    cj=studens[grade]['成绩']
    grades.append(cj)
    grades.sort(reverse=True)
print(grades)

lenth=len(studens)
for i in range(lenth):
    for j in range(i,lenth):
        if studens[j]['成绩']>studens[i]['成绩']:
            studens[j]['成绩'] , studens[i]['成绩']=studens[i]['成绩'],studens[j]['成绩']
print(studens)

for i in studens[:]:
    if i['性别']=='不明':
        studens.remove(i)
print(studens)

猜你喜欢

转载自blog.csdn.net/weixin_44628421/article/details/108864347