系统简介

        该系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和智能化,其主要功能是利用计算机对学生的各种信息,如:姓名、学号、成绩等,进行日常管理,如查询、修改、增加、删除等。

源码:

# 学生管理系统

"""
班级数据类型: list [student1, student2, student3]
学生的数据类型:  dict 
{
    name: mi,
    age :10,
    id: 100
}
"""

# 定义一个列表用来存储所有的学生信息(每个学生是一个字典)
myclass = []

def Print_Menu():
    print("---------------------------")
    print(" 学生管理系统 V1.0 ")
    print(" 1:添加学生 ")
    print(" 2:删除学生 ")
    print(" 3:修改学生 ")
    print(" 4:查询学生 ")
    print(" 5:显示所有学生 ")
    print(" 6:按年龄排序")
    print(" 7:保存数据")
    print(" 8:退出系统 ")
    print("---------------------------")

def Add_students():
    """添加学生信息"""
    global myclass
    # 定义一个字典,用来存储用户的学生信息(这是一个字典)
    student = {}

    name = input("请输入学生姓名>>>")
    # 判断学生是否存在
    for repeaet in myclass:
        if repeaet['name'] == name:
            print("学生已经存在!!")
            return None

    id = input("请输入学生学号>>>")
    age = input("请输入学生年龄>>>")

    # 向字典中添加数据
    student['name'] = name
    student['id'] = id
    student['age'] = age
    # 向列表中添加这个字典
    myclass.append(student)
    print("插入成功!!!")

def Print_All_Stu():
    """遍历学生信息"""
    print("序号\t\t姓名\t\t学号\t\t年龄")
    i = 0
    for student in myclass:
        print("%d\t\t%s\t\t%s\t\t%s" %(i+1, student['name'],
                    student['id'], student['age']))
        i += 1

def Del_By_Name():
    """
        根据名字删除学生信息
    :return: void
    """
    global myclass
    name = input("请输入你想删除的学生姓名>>>")

    for student in myclass:
        if student['name'] == name:
            print("当前学生信息如下")
            print("姓名\t\t学号\t\t年龄")
            print("%s\t\t%s\t\t%s" % (student['name'],
                                        student['id'], student['age']))
            del_flag = input("你确定要删除么?yes or no")
            if del_flag == 'yes':
                myclass.remove(student)
                print("删除成功!!!")
                return None
            else:
                print("放弃删除!!!")
                return None

    print("没有您要找的信息....")
    return None

def Mod_By_Id():
    global myclass
    id = input("请输入你想修改的学生学号>>>")

    for student in myclass:
        if student['id'] == id:
            print("当前学生信息如下")
            print("姓名\t\t学号\t\t年龄")
            print("%s\t\t%s\t\t%s" % (student['name'],
                                        student['id'], student['age']))
        else:
            print("输入学号有误,请重新输入")
            return None
        name = input("请输入学生姓名>>>")
        # 判断学生是否存在
        for repeat in myclass:
            if repeat['name'] == name:
                print("学生已经存在!!")
                return None
        student['name'] = name
        student['id'] = input("请输入学生学号>>>")
        student['age'] = input("请输入学生年龄>>>")
        print("修改成功噢!")
        return None

def Search_By_index():
    """查询学生信息"""
    index = int(input("请输入要查找的序号:(0开始)"))
    if 0 <= index < len(myclass):
        print("当前学生信息如下")
        print("姓名\t\t学号\t\t年龄")
        print("%s\t\t%s\t\t%s" % (myclass[index]['name'],
                                  myclass[index]['id'], myclass[index]['age']))
    else:
        print("输入序号有误,请重新输入")

def Save_Data():
    with open("myclass.data", 'a+') as f:
        for student in myclass:
            print(student)
            f.write(str(student))
            f.write('\n')
    print("保存成功!!!")

def Sort_By_age():
    myclass.sort(key = lambda x: x['age'])
    print("排序完成!!!")
def main():

    while True:
        Print_Menu()

        choose = int(input("请输入的您的选择>>>"))

        if choose == 1:
            Add_students()
        elif choose == 2:
            help(Del_By_Name)
            Del_By_Name()
        elif choose == 3:
            Mod_By_Id()
        elif choose == 4:
            Search_By_index()
        elif choose == 5:
            Print_All_Stu()
        elif choose == 6:
            Sort_By_age()
        elif choose == 7:
            # 保存数据到文件中
            Save_Data()
        elif choose == 8:
            print("Bye~~")
            break
        else:
            print("输入有误,请重新输入......")
            input("\n\n\n按回车键继续....")

# 程序的开始
main()

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐