Day6-作业

1.写一个程序
a.用一个变量来保存一个班级的学生信息,学生信息包括:姓名、学号、成绩(英语、体育、美术、数学)、年龄
b.给这个班级添加学生
c.根据姓名查看班级里的某个学生信息
d.根据姓名删除一个指定的学生信息
e.查看班级的所有的学生信息
f.求指定的学生平均成绩

学生管理系统

list1=[]
flage=False
while True:
    flage1=False
    while True:
        print("欢迎进入千峰学生管理系统")
        print('\n')
        print('=========================')
        print('1.添加学生')
        print('2.查看学生')
        print('3.删除学生')
        print('q.退出系统')
        print('=========================')
        mul1=input('>>>')
        while True:
            if mul1=='1':
                dict1 = {}
                dict2 = {}
                name=input('请输入学生的姓名:')
                number=input('请输入学生的学号:')
                english_grade=int(input('请输入学生英语成绩:'))
                sports_grade = int(input('请输入学生体育成绩:'))
                sports_art = int(input('请输入学生美术成绩:'))
                sports_math = int(input('请输入学生数学成绩:'))
                age=input('请输入学生的年龄:')
                dict1['英语成绩']=english_grade
                dict1['体育成绩'] = english_grade
                dict1['美术成绩'] = english_grade
                dict1['数学成绩'] = english_grade
                dict2['学生姓名']=name
                dict2['学生学号']=number
                dict2['学生成绩']=dict1
                dict2['学生年龄']=age
                list1.append(dict2)
                print('1.继续添加')
                print('2.返回首页')
                mul111=input('>>>')
                if mul111=='1':
                    mul1='1'
                    continue
                elif mul111=='2':
                    flage1=True
                    break
                else:
                    print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
                    mul112=input('希望留在添加页面请输入1,返回首页请输入2:')
                    if mul112=='1':
                        mul1='1'
                        continue
                    elif mul112=='2':
                        flage1 = True
                        break
                    else:
                        flage=True
                        flage1=True
                        break
            elif mul1=='2':
                if list1:
                    pass
                else:
                    print('数据库中并没有任何同学的信息,请添加学生信息')
                    num1=input('输入1返回首页,输入2进入添加页面')
                    if num1=='1':
                        flage1 = True
                        break
                    elif num1=='2':
                        mul1='1'
                        continue
                    else:
                        flage = True
                        flage1 = True
                        break
                print('1.查找所有学生')
                print('2.根据学生姓名查找学生')
                print('3.查询学生的平均成绩')
                print('4.返回首页')
                flage2=False
                while True:
                    mul121=input('>>>')
                    if mul121=='1':
                        for x in list1:
                            for key2 in x:
                                if key2!='学生成绩':
                                    print(key2,':',x[key2],sep='',end='\t')
                                elif key2=='学生成绩':
                                    print(key2,end='')
                                    print('(',end='')
                                    for key22 in x[key2]:
                                        print(key22, ':',x[key2][key22] ,sep='', end='\t')
                                    print(')',end='\t')
                            print('\n')
                    elif mul121=='2':
                        str21=input('请输入要查找的学生姓名:')
                        num=0
                        for y in list1:
                            if str21 == y['学生姓名']:
                                num=1
                                for key23 in y:
                                    if key23 != '学生成绩':
                                        print(key23, ':', y[key23], sep='', end='\t')
                                    elif key23 == '学生成绩':
                                        print(key23, end='')
                                        print('(', end='')
                                        for key24 in y[key23]:
                                            print(key24, ':', y[key23][key24], sep='', end='\t')
                                        print(')', end='\t')
                                print('\n')
                        if num==0:
                            print('数据库中并没有该同学,请查询所有学生,确定您是否操作有误')
                            mul1='2'
                            continue
                    elif mul121=='3':
                        str21 = input('请输入要查找的学生姓名:')
                        num = 0
                        sum=0
                        vag=0
                        for y in list1:
                            if str21 in y.values():
                                num = 1
                                for key25 in y:
                                    if key25 != '学生成绩':
                                        print(key25, ':', y[key25], sep='', end='\t')
                                    elif key25 == '学生成绩':
                                        print(key25, end='')
                                        print('(', end='')
                                        for key26 in y[key25]:
                                            sum+=int(y[key25][key26])
                                            vag+=1
                                            print(key26, ':',y[key25][key26] , sep='', end='\t')
                                        print(')', end=' ')
                        print()
                        print('学生的评价成绩为%f'%(sum/vag))
                        if num == 0:
                            print('数据库中并没有该同学,请查询所有学生,确定您是否操作有误')
                            mul1 = '2'
                            continue
                    elif mul121=='4':
                        flage2=True
                        flage1 = True
                        break
                    else:
                        print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
                        mul122 = input('希望留在查找页面请输入1,返回首页请输入2:')
                        if mul122 == '1':
                            mul1 = '2'
                            break
                        elif mul122 == '2':
                            flage2=True
                            flage1 = True
                            break
                        else:
                            flage = True
                            flage1 = True
                            flage2=True
                            break
                if flage2:
                    break
            elif mul1=='3':
                if list1:
                    pass
                else:
                    print('数据库中并没有任何同学的信息,请添加学生信息')
                    num1=input('输入1返回首页,输入2进入添加页面')
                    if num1=='1':
                        flage1 = True
                        break
                    elif num1=='2':
                        mul1='1'
                        continue
                    else:
                        flage = True
                        flage1 = True
                        break
                name_del = input('请输入要删除学生的姓名:')
                list2=[]
                num=0
                for x in list1[:]:
                    if name_del in x.values():
                        print(num,name_del,end='\t')
                        for key3 in x:
                            if key3 != '学生成绩':
                                print(key3, ':', x[key3], sep='', end='\t')
                            elif key3 == '学生成绩':
                                print(key3, end='')
                                print('(', end='')
                                for key32 in x[key3]:
                                    print( key32, ':', x[key3][key32], sep='', end='\t')
                                print(')', end='\t')
                        print('')
                        list2.append(x)
                        num+= 1
                    if num == 0:
                        print('数据库中并没有该同学,请查询所有学生,确定您是否操作有误')
                        flage1 = True
                        break
                str3 = int(input('>>>'))
                str4 = list2.pop(str3)
                list1.remove(str4)
                print('1.继续删除')
                print('2.返回上一层')
                mul13=input('>>>')
                if mul13=='1':
                    mu11 = '3'
                    continue
                elif mul13=='2':
                    flage1 = True
                    break
                else:
                    print('没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统')
                    mul132 = input('希望留在删除页面请输入1,返回首页请输入2:')
                    if mul132 == '1':
                        mul1 = '3'
                        continue
                    elif mul132 == '2':
                        flage1 = True
                        break
                    else:
                        flage = True
                        flage1 = True
                        break
            elif mul1=='q':
                flage=True
                flage1=True
                break
            else:
                print('没有该功能,请返回首页重新操作')
                flage1=True
                break
        if flage1:
            break
    if flage:
        break
print('你已经退出本系统,欢迎下次登录')





结果:

D:\Python项目\Day5-练习和列表\code\venv\Scripts\python.exe D:/Python项目/Day6-字典/code/05-学生管理系统.py
欢迎进入千峰学生管理系统

=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================

1
请输入学生的姓名:we
请输入学生的学号:23
请输入学生英语成绩:34
请输入学生体育成绩:45
请输入学生美术成绩:56
请输入学生数学成绩:67
请输入学生的年龄:23
1.继续添加
2.返回首页
2
欢迎进入千峰学生管理系统

=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================

2
1.查找所有学生
2.根据学生姓名查找学生
3.查询学生的平均成绩
4.返回首页
5
没有该选项,请返回首页,并严格按照要求进行输入,错误操作将退出系统
希望留在查找页面请输入1,返回首页请输入2:1
1.查找所有学生
2.根据学生姓名查找学生
3.查询学生的平均成绩
4.返回首页
2
请输入要查找的学生姓名:we
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23

1
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23

3
请输入要查找的学生姓名:we
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
学生的评价成绩为34.000000
3
请输入要查找的学生姓名:we
学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
学生的评价成绩为34.000000
4
欢迎进入千峰学生管理系统

=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================

3
请输入要删除学生的姓名:we
0 we 学生姓名:we 学生学号:23 学生成绩(英语成绩:34 体育成绩:34 美术成绩:34 数学成绩:34 ) 学生年龄:23
0
1.继续删除
2.返回上一层
1
数据库中并没有任何同学的信息,请添加学生信息
输入1返回首页,输入2进入添加页面1
欢迎进入千峰学生管理系统

=========================
1.添加学生
2.查看学生
3.删除学生
q.退出系统
=========================

q
你已经退出本系统,欢迎下次登录

修改


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,820评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,648评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,324评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,714评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,724评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,328评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,897评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,804评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,345评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,431评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,561评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,238评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,928评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,417评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,528评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,983评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,573评论 2 359

推荐阅读更多精彩内容

  • 周日我们“雾满拦江读书会”跟专业的公益骑行组织“公益游学院”一起举办了一场:骑行读书吃土鸡的活动——从广州塔骑...
    宁采臣_04fd阅读 961评论 0 2
  • 在杭州的时候和妈妈闲聊,她一直对我们极力反对她买衣服这件事“耿耿于怀”,小哥哥认为是妈妈从小把我们宠成这样的,因为...
    麦子飞呀飞阅读 670评论 0 0
  • 我们每个人的生活里都面临很多的局,做想做的,没有收益,做能做的,没有动力 发展不好,全力以赴,事业好了,家庭又乱,...
    郑惠彭阅读 429评论 0 1