学生管理系统1.0.1

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

{'name': '',
 'NO.': '',
 'age': '',
 'score': [{'English': '',
            'Math': '',
            'P.E': '',
            'Art': ''}]}
"""
class_py5 = []
scord = []
stu_no = 1

key_name = 'name'
key_no = 'No.'
key_age = 'age'
key_scord = 'scord'
sc_key_english = 'English'
sc_key_math = 'Math'
sc_key_pe = 'P.E'
sc_key_art = 'art'

print('欢迎使用学员管理系统')

while True:
    print('★★★★★★★★★★★★★★★')
    print('1、添加学生')
    print('2、查看学生信息')
    print('3、删除学生')
    print('4、查看班级所有学生信息')
    print('5、求学生的平均成绩')
    print('6、退出系统')
    print('★★★★★★★★★★★★★★★')
    n = input("请选择:")
    if n < '1' or n > '6':
        print('你的输入有误!请重新输入')
        continue
    # 当n = 1时开始添加学生信息
    m = 1

    if n == '1':

        while m:
            print('请输入添加学生的详细信息')

            # 用字典来存储学生的详细信息
            class_dict = {}
            class_dict[key_name] = input("姓名:")
            class_dict[key_no] = '1805' + str(stu_no).rjust(4, '0')
            class_dict[key_age] = input("年龄:")

            # 用字典来存储学生成绩信息
            print('请输入添加学生的各科成绩')
            scord_dict = {}
            scord_dict[sc_key_english] = int(input("英语:"))
            scord_dict[sc_key_math] = int(input('数学:'))
            scord_dict[sc_key_pe] = int(input('体育:'))
            scord_dict[sc_key_art] = int(input('艺术:'))
            scord.append(scord_dict)
            class_dict[key_scord] = scord_dict
            class_py5.append(class_dict)
            print('添加成功!')
            stu_no += 1
            m = int(input('输入1继续添加,输入0返回上级:'))
        continue

    # 通过名字查找,得到学生的详细信息
    if n == '2':
        while m:
            if not len(class_py5):
                print('系统中没有学生')
                break
            get_name = input('请输入要查询的学生的姓名:')
            flag = True
            for i in range(0, len(class_py5)):
                if get_name == class_py5[i][key_name]:
                    print(class_py5[i])
                    flag = False
            if flag:
                print('该学生不存在')
            m = int(input('输入1继续查找,输入0返回上级:'))
        continue

    # 通过名字查找,删除学生
    if n == '3':
        while m:
            # 如果没有存入学生
            if not len(class_py5):
                print('没有学生')
                break
            get_name = input('请输入要删除的学生的姓名:')
            flag = True
            a = []
            copy_name = []
            # 通过名字查找学生
            for i in range(0, len(class_py5)):
                if get_name == class_py5[i][key_name]:
                    a.append(i)
                    copy_name.append(class_py5[i])
            # 如果没有重名,直接删除
            if len(copy_name) == 1:
                del class_py5[i]
                flag = False
                print('删除成功!')
            # 如果有重名选择删除的人
            elif len(copy_name) > 1:
                for i in range(0, len(copy_name)):
                    print(copy_name[i])

                del_name = int(input('你想删除第几个?')) - 1
                del class_py5[a[del_name]]
                flag = False
                print('删除成功!')

            if flag:
                print('该学生不存在')
            m = int(input('输入1继续删除,输入0返回上级:'))
            continue
    # 打印所有学生的详细信息
    if n == '4':
        for i in range(0, len(class_py5)):
            print(class_py5[i])
        continue
    if n == '5':
        while m:
            sum = 0  # 保存总成绩
            get_name = input('请输入要计算平均成绩的学生的姓名:')
            for i in range(0, len(class_py5)):
                if get_name == class_py5[i][key_name]:
                    print(scord[i])
                    sum = scord[i][sc_key_english] +scord[i][sc_key_math] +scord[i][sc_key_pe] + scord[i][sc_key_art]
                    ave = sum / 4
                    print('平均成绩为:%.2f' % ave)
            m = int(input('输入1继续计算学生的平均成绩,输入0返回上级:'))
        continue
    if n == '6':
        print('程序结束,感谢使用')
        break

输出结果:
欢迎使用学员管理系统
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:1
请输入添加学生的详细信息
姓名:k
年龄:21
请输入添加学生的各科成绩
英语:82
数学:96
体育:91
艺术:90
添加成功!
输入1继续添加,输入0返回上级:1
请输入添加学生的详细信息
姓名:jx
年龄:22
请输入添加学生的各科成绩
英语:96
数学:75
体育:73
艺术:80
添加成功!
输入1继续添加,输入0返回上级:1
请输入添加学生的详细信息
姓名:k
年龄:23
请输入添加学生的各科成绩
英语:80
数学:65
体育:35
艺术:87
添加成功!
输入1继续添加,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:2
请输入要查询的学生的姓名:k
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'k', 'No.': '18050003', 'age': '23', 'scord': {'English': 80, 'Math': 65, 'P.E': 35, 'art': 87}}
输入1继续查找,输入0返回上级:1
请输入要查询的学生的姓名:jx
{'name': 'jx', 'No.': '18050002', 'age': '22', 'scord': {'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}}
输入1继续查找,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:4
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'jx', 'No.': '18050002', 'age': '22', 'scord': {'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}}
{'name': 'k', 'No.': '18050003', 'age': '23', 'scord': {'English': 80, 'Math': 65, 'P.E': 35, 'art': 87}}
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:5
请输入要计算平均成绩的学生的姓名:jx
{'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}
平均成绩为:81.00
输入1继续计算学生的平均成绩,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:3
请输入要删除的学生的姓名:k
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'k', 'No.': '18050003', 'age': '23', 'scord': {'English': 80, 'Math': 65, 'P.E': 35, 'art': 87}}
你想删除第几个?2
删除成功!
输入1继续删除,输入0返回上级:0
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:4
{'name': 'k', 'No.': '18050001', 'age': '21', 'scord': {'English': 82, 'Math': 96, 'P.E': 91, 'art': 90}}
{'name': 'jx', 'No.': '18050002', 'age': '22', 'scord': {'English': 96, 'Math': 75, 'P.E': 73, 'art': 80}}
★★★★★★★★★★★★★★★
1、添加学生
2、查看学生信息
3、删除学生
4、查看班级所有学生信息
5、求学生的平均成绩
6、退出系统
★★★★★★★★★★★★★★★
请选择:6
程序结束,感谢使用

你可能感兴趣的:(学生管理系统1.0.1)