day12-周末作业

2018-10-13  本文已影响0人  _桑心人

简单的学生管理系统

代码示例

"""
学生管理系统:
"""
snos = 1800
student = []
def cai_dan():
    print('===============================')
    print('|     欢迎来到学生管理系统    |')
    print('===============================')
    print('|      1.添加学生             |')
    print('|      2.查看学生信息         |')
    print('|      3.删除学生信息         |')
    print('|      4.求指定的学生平均成绩 |')
    print('|      5.退出                 |')
    print('===============================')
    n = int(input('请选择:'))
    return n


def print_student(student):
    print('===================================================================')
    print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
    print('===================================================================')
    for students in student:
        print('|', students['sno'], '|  ', students['name'], '|  ', students['age'], ' |  ',
              students['tel'], '  |   ', students['escore'], '  |  ', students['pscore'], '|  ',
              students['ascore'], '  |  ', students['mscore'], ' |')
        print('===================================================================')


def add_student(student, snos):
    while 1:
        news = {}
        sno = 'py' + str(snos)
        name = input('请输入学生姓名:')
        age = input('请输入学生年龄:')
        tel = input('请输入学生电话号码:')
        # 英语、体育、美术、数学
        escore = int(input('请录入英语成绩:'))
        pscore = int(input('请录入体育成绩:'))
        ascore = int(input('请录入美术成绩:'))
        mscore = int(input('请录入数学成绩:'))
        news['sno'] = sno
        news['name'] = name
        news['age'] = age
        news['tel'] = tel
        news['escore'] = escore
        news['pscore'] = pscore
        news['ascore'] = ascore
        news['mscore'] = mscore
        student.append(news)
        print('添加成功!')
        snos += 1
        print_student(student)
        print('1.继续添加')
        print('0.返回菜单')
        n = int(input('请选择:'))
        if n == 0:
            return


def cha_zhao_student(student):
    while 1:
        print('1.查看全班学生信息')
        print('2.查看个人学生信息')
        print('3.返回菜单')
        n = int(input('请选择:'))
        if student == []:
            print('该班级还没有学生,请添加!')
            print('1.是否添加')
            print('0.返回菜单')
            n = int(input('请选择:'))
            if n == 0:
                add_student()
            return
        if n == 1:
            print('全班学生信息:')
            print_student(student)
        elif n == 2:
            print('1.按学号查找')
            print('2.按姓名查找')
            n = int(input('请选择:'))
            if n == 1:
                sno = input('请输入你要查找的学生的学号:')
                print('学生信息为:')
                print('===================================================================')
                print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
                print('===================================================================')
                true = 0
                for students in student:
                    if students['sno'] == sno:
                        print('|', students['sno'], '|  ', students['name'], '|  ', students['age'], ' |  ',
                              students['tel'], '  |   ', students['escore'], '  |  ', students['pscore'], '|  ',
                              students['ascore'], '  |  ', students['mscore'], ' |')
                        print('===================================================================')
                        true += 1
                if true == 0:
                    print('没有你要查找的人!')
            else:
                name = input('请输入你要查找的学生的姓名:')
                print('学生信息为:')
                print('===================================================================')
                print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
                print('===================================================================')
                true = 0
                for students in student:
                    if students['name'] == name:
                        print('|', students['sno'], '|  ', students['name'], '|  ', students['age'], ' |  ',
                              students['tel'], '  |   ', students['escore'], '  |  ', students['pscore'], '|  ',
                              students['ascore'], '  |  ', students['mscore'], ' |')
                        print('===================================================================')
                        true += 1
                if true == 0:
                    print('没有你要查找的人!')
        else:
            return
        print('1.继续查找')
        print('0.返回菜单')
        n = int(input('请选择:'))
        if n == 0:
            return


def delete_student(student):
    while 1:
        print('1.按学号查找')
        print('2.按姓名查找')
        print('3.返回菜单')
        n = int(input('请选择:'))
        if n == 1:
            sno = input('请输入你要删除的学生的学号:')
            print('===================================================================')
            print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
            print('===================================================================')
            true = 0
            for students in student:
                new = [true]
                if students['sno'] == sno:
                    print('|', students['sno'], '|  ', students['name'], '|  ', students['age'], ' |  ',
                          students['tel'], '  |   ', students['escore'], '  |  ', students['pscore'], '|  ',
                          students['ascore'], '  |  ', students['mscore'], ' |')
                    print('===================================================================')
                    true += 1
                    new.append(students)
            if true:
                print('===================================================================')
                print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
                print('===================================================================')
                print('|', new[true]['sno'], '|  ', new[true]['name'], '|  ', new[true]['age'], ' |  ',
                      new[true]['tel'], '  |   ', new[true]['escore'], '  |  ', new[true]['pscore'], '|  ',
                      new[true]['ascore'], '  |  ', new[true]['mscore'], ' |')
                print('===================================================================')
                print('是否确认删除? 1.是 2.否')
                n = int(input('请选择:'))
                if n == 1:
                    student.remove(new[true])
                    print("删除成功!")
            else:
                print('没有你要查找的人!')
        elif n == 2:
            name = input('请输入你要删除的学生的姓名:')
            print(' ===================================================================')
            print(' |  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
            print(' ===================================================================')
            true = 0
            new = [true]
            for students in student:
                if students['name'] == name:
                    true += 1
                    print(true, '|', students['sno'], '|  ', students['name'], '|  ', students['age'], ' |  ',
                          students['tel'], '  |   ', students['escore'], '  |  ', students['pscore'], '|  ',
                          students['ascore'], '  |  ', students['mscore'], ' |')
                    print(' ===================================================================')
                    new.append(students)
            print(new)
            if true >= 2:
                n = int(input('请选择:'))
                if n:
                    print('===================================================================')
                    print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
                    print('===================================================================')
                    print('|', new[n]['sno'], '|  ', new[n]['name'], '|  ', new[n]['age'], ' |  ',
                          new[n]['tel'], '  |   ', new[n]['escore'], '  |  ', new[n]['pscore'], '|  ',
                          new[n]['ascore'], '  |  ', new[n]['mscore'], ' |')
                    print('===================================================================')
                    print('是否确认删除? 1.是 2.否')
                    n = int(input('请选择:'))
                    if n == 1:
                        student.remove(new[n])
                        print("删除成功!")
            elif true == 1:
                print('是否确认删除? 1.是 2.否')
                n = int(input('请选择:'))
                if n == 1:
                    student.remove(new[true])
                    print("删除成功!")
            else:
                print('没有你要查找的人!')
        else:
            return
        print('1.继续查找')
        print('0.返回菜单')
        n = int(input('请选择:'))
        if n == 0:
            return


def avg_student(student):
    name = input('请输入你要求成绩的学生的姓名:')
    if student == []:
        print('该班级还没有学生,请添加!')
        print('1.是否添加')
        print('0.返回菜单')
        n = int(input('请选择:'))
        if n != 0:
            add_student()
        return
    for students in student:
        if students['name'] == name:
            print('学生信息为:')
            print('===================================================================')
            print('|  学号  |   姓名   | 年龄 | 电话号码 | 英语 | 体育 | 美术 | 数学 |')
            print('===================================================================')
            for students in student:
                print('|', students['sno'], '|  ', students['name'], '|  ', students['age'], ' |  ',
                      students['tel'], '  |   ', students['escore'], '  |  ', students['pscore'], '|  ',
                      students['ascore'], '  |  ', students['mscore'], ' |')
                print('===================================================================')
            sum1 = 0
            sum1 = students['escore'] + students['pscore'] + students['ascore'] + students['mscore']
            avg = sum1 / 4
            print('此学生的平均成绩为:', avg)
        else:
            print('没有你要查找的人!')
    print('1.继续求平均值')
    print('0.返回菜单')
    n = int(input('请选择:'))
    if n == 0:
        return


while 1:
    n = cai_dan()
    if n == 1:
        add_student(student, snos)
    elif n == 2:
        cha_zhao_student(student)
    elif n == 3:
        delete_student(student)
    elif n == 4:
        avg_student(student)
    else:
        break
print('您已退出学生管理系统!')

运行结果大家自行测试!

上一篇下一篇

猜你喜欢

热点阅读