python小代码(学生管理系统)

任务:学生管理系统
任务说明:
按所给的框架代码完善学生管理系统,要求实现学生信息的增、删、改、查等功能。框架代码说明如下图所示:
在这里插入图片描述
框架代码如下所示:
#学生管理系统
student_infos=[] #用于保存学生的相关信息
def print_menu(): #主菜单显示
pass
def add_info(): #添加学生信息
pass
def del_info(student): #删除学生信息
pass
def modify_info(): #修改学生信息
pass
def show_infos(): #显示所有学生的信息
pass
def main(): #功能包括:系统的退出;各函数的调用;接收用户输入的序号选择;根据用户的序号判断函数的调用;输入异常情况的处理
pass
main()

主菜单函数:

def print_menu(): #主菜单显示
    print("--------------------------")
    print("     学生管理系统      ")
    print("1. 添加学生信息")
    print("2. 删除学生信息")
    print("3. 修改学生信息")
    print("4. 查询学生信息")
    print("5. 获取所有学生信息")
    print("6. 退出系统")

增加学生信息函数:
#添加学生信息–姓名、性别、年龄、学号、家庭住址–以字典存储:姓名为键,其它信息形成列表为值

def add_info(): #添加学生信息--姓名、性别、年龄、学号、家庭住址--以字典存储:姓名为键,其它信息形成列表为值
    print("--------------------------")
    print("正在添加学生信息")
    name=input("请输入姓名:")
    sex= input("请输入性别:")
    year = input("请输入年龄:")
    number=input("请输入学号:")
    id = input("请输入家庭住址:")
    listvalue=[sex,year,number,id]
    student_infos[name]=listvalue
    print("添加成功")

#增加学生信息函数可进行改进,上述函数增加一名学生信息后就会返回主菜单,
#下面改进函数可连续添加学生信息。

def add_info(): #添加学生信息--姓名、性别、年龄、学号、家庭住址--以字典存储:姓名为键,其它信息形成列表为值
    while True:
        a=input("是否添加学生信息(Y/N):")
        if a=='Y':
            print("--------------------------")
            print("正在添加学生信息")
            name = input("请输入姓名:")
            sex = input("请输入性别:")
            year = input("请输入年龄:")
            number = input("请输入学号:")
            id = input("请输入家庭住址:")
            listvalue = [sex, year, number, id]
            student_infos[name] = listvalue
            print("添加成功")
        else:
            break

删除学生信息函数:
#删除学生信息–输入姓名删除,如果姓名不存在则显示查无此人返回主菜单;姓名存在,删除成功

def del_info(student): #删除学生信息--输入姓名删除,如果姓名不存在则显示查无此人返回主菜单;姓名存在,删除成功
    print("--------------------------")
    while True:
        info_list = student_infos.get(student)
        if info_list==None:
            print("查无此人")
            break
        else:
            print("正在删除学生信息")
            del student_infos[student]
            print("删除成功")
            break

修改学生信息函数:
#输入姓名修改
#姓名不存在则显示查无此人返回主菜单
#先输出未修改时信息
#后可分别按1 性别;2 年龄;3 学号;4 家庭住址;进行修改
#修改信息可循环,知道输入5停止修改,返回主菜单
#每次修改会显示修改后的信息

def modify_info(): #修改学生信息
    print("--------------------------")
    print("正在修改学生信息")
    while True:
        nameinfo1 = input("请输入要修改的学生信息姓名:")#输入姓名修改
        info_list = student_infos.get(nameinfo1)
        if info_list==None:#姓名不存在则显示查无此人返回主菜单
            print("查无此人")
            break
        else:
            print(info_list)#输出未修改时信息
            while True:#可分别按1 性别;2 年龄;3 学号;4 家庭住址;进行修改
                k = int(input("请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):"))
                if k == 1:
                    sex = input("请输入修改后性别:")
                    info_list[0] = sex
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())#会显示修改后的信息
                    print()
                elif k == 2:
                    year = input("请输入修改后年龄:")
                    info_list[1] = year
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())
                    print()
                elif k == 3:
                    number = input("请输入修改后学号:")
                    info_list[2] = number
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())
                    print()
                elif k == 4:
                    id = input("请输入修改后家庭住址:")
                    info_list[3] = id
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())
                    print()
                elif k == 5:
                    break
                else:
                    print("输入有误,请重新输入...")
            print("修改成功")
            break

#上述修改学生信息函数可分别按按1 性别;2 年龄;3 学号;4 家庭住址;进行修改。弊端就是不能修改学生姓名。
#下面的函数是学生输入姓名,将所有信息先删除,然后所有信息重复输入,再添加到字典存储完成修改。优点是可以修改键-姓名。

def modify_info(): 
    nameinfo1 = input("请输入要修改的学生信息姓名:")
    del student_infos[nameinfo1]
    name = input("请输入姓名:")
    sex = input("请输入性别:")
    number = input("请输入学号:")
    id = input("请输入家庭住址:")
    listvalue = [sex, number, id]
    student_infos[name] = listvalue

查询学生信息函数:
#按姓名查询学生信息,学生不存在则显示查无此人

def seek_info():  # 函数--查询学生信息
    print("--------------------------")
    print("正在查询学生信息")
    nameinfo2 = input("请输入要查询的学生信息姓名:")
    print(student_infos.get(nameinfo2, '查无此人'))

查询全部学生信息函数:
#输出字典的键值对

def show_infos(): #显示所有学生的信息
    print("--------------------------")
    print("正在查询所有学生信息")
    print(student_infos.items())

完整代码:

#学生管理系统
import sys
student_infos={} #用于保存学生的相关信息
listvalue=[]
def print_menu(): #主菜单显示
    print("--------------------------")
    print("     学生管理系统      ")
    print("1. 添加学生信息")
    print("2. 删除学生信息")
    print("3. 修改学生信息")
    print("4. 查询学生信息")
    print("5. 获取所有学生信息")
    print("6. 退出系统")
def get_choice():  # 函数--#等待用户选择
    print("--------------------------")
    global key
    key = int(input("请输入选择的序号:"))
def add_info(): #添加学生信息--姓名、性别、年龄、学号、家庭住址--以字典存储:姓名为键,其它信息形成列表为值
    print("--------------------------")
    print("正在添加学生信息")
    name=input("请输入姓名:")
    sex= input("请输入性别:")
    year = input("请输入年龄:")
    number=input("请输入学号:")
    id = input("请输入家庭住址:")
    listvalue=[sex,year,number,id]
    student_infos[name]=listvalue
    print("添加成功")
def del_info(student): #删除学生信息--输入姓名删除,如果姓名不存在则显示查无此人返回主菜单;姓名存在,删除成功
    print("--------------------------")
    while True:
        info_list = student_infos.get(student)
        if info_list==None:
            print("查无此人")
            break
        else:
            print("正在删除学生信息")
            del student_infos[student]
            print("删除成功")
            break
def modify_info(): #修改学生信息
    print("--------------------------")
    print("正在修改学生信息")
    while True:
        nameinfo1 = input("请输入要修改的学生信息姓名:")#输入姓名修改
        info_list = student_infos.get(nameinfo1)
        if info_list==None:#姓名不存在则显示查无此人返回主菜单
            print("查无此人")
            break
        else:
            print(info_list)#输出未修改时信息
            while True:#可分别按1 性别;2 年龄;3 学号;4 家庭住址;进行修改
                k = int(input("请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):"))
                if k == 1:
                    sex = input("请输入修改后性别:")
                    info_list[0] = sex
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())#会显示修改后的信息
                    print()
                elif k == 2:
                    year = input("请输入修改后年龄:")
                    info_list[1] = year
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())
                    print()
                elif k == 3:
                    number = input("请输入修改后学号:")
                    info_list[2] = number
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())
                    print()
                elif k == 4:
                    id = input("请输入修改后家庭住址:")
                    info_list[3] = id
                    student_infos[nameinfo1] = info_list
                    print("修改后信息", student_infos.items())
                    print()
                elif k == 5:
                    break
                else:
                    print("输入有误,请重新输入...")
            print("修改成功")
            break
    # nameinfo1 = input("请输入要修改的学生信息姓名:")
    # del student_infos[nameinfo1]
    # name = input("请输入姓名:")
    # sex = input("请输入性别:")
    # number = input("请输入学号:")
    # id = input("请输入家庭住址:")
    # listvalue = [sex, number, id]
    # student_infos[name] = listvalue

def seek_info():  # 函数--查询学生信息
    print("--------------------------")
    print("正在查询学生信息")
    nameinfo2 = input("请输入要查询的学生信息姓名:")
    print(student_infos.get(nameinfo2, '查无此人'))
def show_infos(): #显示所有学生的信息
    print("--------------------------")
    print("正在查询所有学生信息")
    print(student_infos.items())
def exit_menu():  # 函数--退出系统
    print("--------------------------")
    print("已退出")
    sys.exit(0)
def main(): #功能包括:系统的退出;各函数的调用;接收用户输入的序号选择;根据用户的序号判断函数的调用;输入异常情况的处理
    i = 0
    while i < 1:
        print_menu()  # 函数--#打印菜单
        get_choice()  # 函数--#等待用户选择
        if key == 1:
            add_info()  # 函数--添加学生信息
        elif key == 2:
            nameinfo = input("请输入要删除的学生信息姓名:")
            del_info(nameinfo)  # 函数--删除学生信息
        elif key == 3:
            modify_info()  # 函数--修改学生信息
        elif key == 4:
            seek_info()  # 函数--查询学生信息
        elif key == 5:
            show_infos()  # 函数--获取所有学生信息
        elif key == 6:
            exit_menu()  # 函数--退出系统
        else:
            print("输入有误,请重新输入...")
main()

运行结果:

--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:1
--------------------------
正在添加学生信息
请输入姓名:蓝湛
请输入性别:男
请输入年龄:18
请输入学号:180
请输入家庭住址:姑苏
添加成功
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:1
--------------------------
正在添加学生信息
请输入姓名:魏婴
请输入性别:女
请输入年龄:81
请输入学号:108
请输入家庭住址:清河
添加成功
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:4
--------------------------
正在查询学生信息
请输入要查询的学生信息姓名:江澄
查无此人
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:4
--------------------------
正在查询学生信息
请输入要查询的学生信息姓名:蓝湛
['男', '18', '180', '姑苏']
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:5
--------------------------
正在查询所有学生信息
dict_items([('蓝湛', ['男', '18', '180', '姑苏']), ('魏婴', ['女', '81', '108', '清河'])])
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:2
请输入要删除的学生信息姓名:江澄
--------------------------
查无此人
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:2
请输入要删除的学生信息姓名:蓝湛
--------------------------
正在删除学生信息
删除成功
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:3
--------------------------
正在修改学生信息
请输入要修改的学生信息姓名:蓝湛
查无此人
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:9
输入有误,请重新输入...
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:3
--------------------------
正在修改学生信息
请输入要修改的学生信息姓名:魏婴
['女', '81', '108', '清河']
请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):1
请输入修改后性别:男
修改后信息 dict_items([('魏婴', ['男', '81', '108', '清河'])])

请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):2
请输入修改后年龄:18
修改后信息 dict_items([('魏婴', ['男', '18', '108', '清河'])])

请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):3
请输入修改后学号:183
修改后信息 dict_items([('魏婴', ['男', '18', '183', '清河'])])

请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):4
请输入修改后家庭住址:莲花坞
修改后信息 dict_items([('魏婴', ['男', '18', '183', '莲花坞'])])

请输入要修改的内容(1 性别;2 年龄;3 学号;4 家庭住址;5 停止修改):5
修改成功
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:5
--------------------------
正在查询所有学生信息
dict_items([('魏婴', ['男', '18', '183', '莲花坞'])])
--------------------------
     学生管理系统      
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 获取所有学生信息
6. 退出系统
--------------------------
请输入选择的序号:6
--------------------------
已退出

  • 14
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值