python小项目--》学生管理系统

'''
1、编写“学生管理系统”,要求如下:
必须使用自定义函数,完成对程序的模块化
学生信息至少包含:姓名、年龄、学号,除此以外可以适当添加
必须完成的功能:添加、删除、修改、查询(单个查询/显示所有)、退出
'''
student = [['张三',18,1001],['李四',18,1002]]

#添加学生信息
def add(student):
    n = 1
    while n == 1:
        student_name = input("请输入姓名:")
        student_age = int(input("请输入年龄:"))
        a = 1
        while a == 1:
            student_id = int(input("请输入学号(四位数,例:1000)"))
            a = 2
            for i in student:
                a = int(i[2])
                if i[2] == student_id:
                    print("此学号已存在,请重新输入:")
                    a = 1
                    break
        choice1 = input("是否保存(Y/N)")
        if choice1.lower() == 'y':
            print("添加成功!")
            student.append([student_name,student_age,student_id])
        print("请选择  1.继续添加  2.返回上一层")
        n = int(input())


# 删除学生信息
def delete(student):
    n = 1
    while n == 1:
        b = 1
        for i in range(len(student)):
            print('姓名: %s\t年龄: %d\t学号: %d' % (student[i][0], student[i][1], student[i][2]))
        delstudent = int(input("请输入要删除学生信息的学号:"))
        for i in student:
            a = int(i[2])
            if i[2] == delstudent:
                student.remove(i)
                b = 2
                print("删除成功!")
        if b == 1:
            print("没有此学号学生信息!")
        print("请选择  1.继续删除  2.返回上一层")
        n = int(input())


 #修改学生信息
def Modify():
    n =1
    while n == 1:
        for i in range(len(student)):
            print('姓名: %s\t年龄: %d\t学号: %d' % (student[i][0], student[i][1], student[i][2]))
        b = 1
        Modstudent = int(input("请输入要修改学生信息的学号:"))
        for i in student:
            a = int(i[2])
            if i[2] == Modstudent:
                b = 2
                choice2 = int(input("请选择需要修改的信息(1.姓名  2.年龄 3.学号):"))
                if choice2 == 1:
                    name = input("请输入新的姓名:")
                    i[0] = name
                    print("修改成功!")
                if choice2 == 2:
                    age = int(input("请输入新的年龄:"))
                    i[1] = age
                    print("修改成功!")
                if choice2 == 3:
                    m = 1
                    while m == 1:
                        h = 1
                        id = int(input("请输入新的学号:"))
                        for i in student:
                            a = int(i[2])
                            if i[2] == id:
                                print("此学号已存在,请重新输入:")
                                h = 2
                                break
                        if h == 1:
                            i[2] = id
                            print("修改成功!")
                            break
        if b == 1:
            print("没有此学号学生信息,请重新确认!")
        print("请选择  1.继续修改  2.返回上一层")
        n = int(input())


#查询学生信息
def query():
    n = 1
    while n == 1:
        choice3 = int(input("请选择 1.查看全部学生信息  2.查看个人信息"))
        if choice3 == 1:
            for i in range(len(student)):
                print('姓名: %s\t年龄: %d\t学号: %d' % (student[i][0], student[i][1], student[i][2]))
        if choice3 == 2:
            Qudstudent = int(input("请输入要查询学生信息的学号:"))
            for i in student:
                a = int(i[2])
                if i[2] == Qudstudent:
                    print('姓名: %s\t年龄: %d\t学号: %d' % (i[0], i[1], i[2]))
        print("请选择  1.继续查看  2.返回上一层")
        n = int(input())



while True:
    print("-------------学生信息管理系统-------------------")
    print("|       菜单")
    print("|         1.添加学生信息                     |")
    print("|         2.删除学生信息                     |")
    print("|         3.修改学生信息                     |")
    print("|         4.查询学生信息                     |")
    print("|         0.退出                             |")
    print("------------------------------------------------")
    choice = int(input("请输入你的选择:"))
    if choice == 1:
        add(student)
    if choice == 2:
        delete(student)
    if choice == 3:
        Modify()
    if choice == 4:
        query()
    if choice == 0:
        print("退出学生信息系统")
        break"""
2.编写“学生管理系统”,要求如下:
必须使用自定义函数,完成对程序的模块化
学生信息至少包含:姓名、年龄、学号,除此以外可以适当添加
必须完成的功能:添加、删除、修改、查询(单个查询/显示所有)、退出
"""

# 存放所有数据的字典
dict_infos = {}


def add_student():
    """
    添加一个人
    :return:
    """
    name = input("请输入姓名:")
    age = input("请输入年龄:")
    id = input("请输入学号:")
    dict_infos[name] = {}
    dict_infos[name]["name"] = name
    dict_infos[name]["age"] = age
    dict_infos[name]["id"] = id
    # while True:
    #     info = input("请输入姓名:")
    print(dict_infos)


def del_student():
    """
    删除一个学生
    :return:
    """
    name = input("请输入要删除的学生名字:")
    if name in dict_infos.keys():
        dict_infos.pop(name)
    else:
        print("查无此人")
    print(dict_infos)


def modify_student():
    """
    修改学生信息
    :return:
    """
    name = input("请输入要修改的人名:")
    if name in dict_infos.keys():
        age = input("请输入年龄:")
        id = input("请输入学号:")
        dict_infos[name]["name"] = name
        dict_infos[name]["age"] = age
        dict_infos[name]["id"] = id
    else:
        print("查无此人")
    print(dict_infos)


def look_student():
    """
    查询学生信息
    :return:
    """
    name = input("请输入要查询的名字,输入all查看全部:")
    if name in dict_infos.keys():
        print(dict_infos[name])
    elif name == "all":
        print(dict_infos)
    else:
        print("查无此人")


while True:
    select = input("请输入要操作的选项1.添加一个人 2.删除一个人 3.修改一个人 4.查询一个(群)人 0.退出:")
    if select.isdigit():
        select = int(select)
    else:
        print("请输入一个数字:")
        continue
    if select == 0:
        break
    elif select == 1:
        add_student()
    elif select == 2:
        del_student()
    elif select == 3:
        modify_student()
    elif select == 4:
        look_student()

猜你喜欢

转载自blog.csdn.net/qq_42336700/article/details/81414206