学生成绩管理系统2.0

"""__author__=xx"""

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

# 创建一个列表存班级学生
class_stu = [{'name': '张三', 'stu_id': '001', 'age': 18, 'scores':{'english': 80, 'sports': 90, 'math': 96, 'art': 70}}]

# 创建控制按钮
entry = ''
while entry != 'q':
    print('欢迎进入学生管理系统')
    print('1.添加学生')
    print('2.查找学生')
    print('3.删除学生')
    print('q.退出系统')
    # 键盘输入控制功能
    entry = input('>>>')

    # 添加学生功能
    while entry == '1':
        # 创建一个学生字典,存储学生信息
        students = {}
        # 创建成绩字典
        scores = {}
        # 输入学生所有信息
        name = input('请输入学生姓名:')
        stu_id = input('请输入学生学号:')
        age = int(input('请输入学生年龄:'))
        score_english = int(input('请输入该学生英语成绩:'))
        score_sprots = int(input('请输入该学生体育成绩:'))
        score_math = int(input('请输入该学生数学成绩:'))
        score_art = int(input('请输入该学生美术成绩:'))
        # 将成绩录入到成绩字典中
        scores['english'] = score_english
        scores['sports'] = score_sprots
        scores['math'] = score_math
        scores['art'] = score_art
        # 将学生信息放入学生字典中
        students['name'] = name
        students['stu_id'] = stu_id
        students['age'] = age
        students['scores'] = scores
        # 将学生字典放入班级列表中
        class_stu.append(students)

        # 设置添加功能按钮
        print('1.继续添加学生')
        print('2.返回上一层')
        entry_1 = input('>>>')
        while True:
            if entry_1 == '1':
                entry == '1'
                break
            if entry_1 == '2':
                entry = '9'
                break
            # 输入出错时重新输入
            if entry_1 != '1' or entry_1 != '2':
                print('1.继续添加学生')
                print('2.返回上一层')
                entry_1 = input('输入错误,请重新输入:')

    # 查询学生信息功能
    while entry == '2':
        print('1.查看所有学生信息')
        print('2.根据名字查看学生信息')
        print('3.查看指定学生平均成绩')
        print('4.返回上一层')
        # 设置输入功能
        entry_1 = input('>>>')
        while True:
            # 查看所有学生信息功能
            if entry_1 == '1':
                print(class_stu)
                break
            # 根据学生姓名查看学生信息
            if entry_1 == '2':
                name = input('请输入学生姓名:')
                for x in range(len(class_stu)):
                    if name == class_stu[x]['name']:
                        print(class_stu[x])
                break
            # 根据学生姓名,查询学生平均成绩
            if entry_1 == '3':
                name = input('请输入学生姓名:')
                for x in range(len(class_stu)):
                    if name == class_stu[x]['name']:
                        avg = (class_stu[x]['scores']['english'] + class_stu[x]['scores']['sports'] +
                               class_stu[x]['scores']['math'] + class_stu[x]['scores']['art']) / 4
                        print('%s同学的平均成绩是:%f' % (name, avg))
                break
            # 返回上一层
            if entry_1 == '4':
                entry = '9'
                break
            # 输入出错时重新输入
            if entry_1 != '1' or entry_1 != '2' or entry_1 != '3' or entry_1 != '4':
                print('1.查看所有学生信息')
                print('2.根据名字查看学生信息')
                print('3.查看指定学生平均成绩')
                print('4.返回上一层')
                entry_1 = input('输入错误,请重新输入:')

    # 删除学生功能
    while entry == '3':
        name = input('请输入要删除的学生姓名:')
        label = True
        while label:
            # 遍历班级列表,找到对应的学生信息
            for x in range(len(class_stu)):
                if name == class_stu[x]['name']:
                    print(x, class_stu[x])
                    index = int(input('请输入要删除的学生下标:'))
                    del class_stu[index]
                    print('删除成功!')

                    # 删除功能页按钮
                    print('1.继续删除')
                    print('2.返回上一层')
                    while True:
                        entry_1 = int(input('>>>'))
                        if entry_1 == 1:
                            break
                        if entry_1 == 2:
                            entry = '9'
                            label = False
                            break
                        if entry_1 != 1 or entry_1 != 2:
                            print('1.继续删除')
                            print('2.返回上一层')
                            entry_1 = input('请重新输入:')
# 查看操作完以后的班级学生信息
print(class_stu)

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