Day6-作业

2018-07-23  本文已影响0人  晓晓的忍儿

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
你已经退出本系统,欢迎下次登录

修改


上一篇下一篇

猜你喜欢

热点阅读