Python项目实践:学生信息管理系统

2021-03-12 03:28

阅读:365

标签:break   family   menu   append   pytho   NPU   col   def   sort   

功能模块分析

1.首页(菜单功能)
2.添加学生信息
3.删除学生信息
4.显示学生信息
5.修改学生信息
6.按照学生年龄排序

代码如下:

 

def main():
    while True:
        printmenu()            #打印菜单
        number = int(input("请输入功能对应的数字:"))
        if number == 1:
            addInfo()          #添加学生信息
        elif number == 2:
            delInfo()          #删除学生信息
        elif number == 3:
            showInfo()         #显示学生信息
        elif number == 4:
            modInfo()          #修改学生信息
        elif number == 5:
            rise_hum()         #按照学生学号由低-高排序
        elif number == 6:
            down_hum()         #按照学生学号由高-低排序
        elif number == 0:
            qut = input("输入yes退出系统,输入其他任意字符不退出:")
            if qut == "yes":
                break


stuInfo=[]                         #定义一个空列表,用于存放所有学生信息

def printmenu():
    menu="""
====================学生信息管理系统====================
         1.添加学生信息
         2.删除学生信息
         3.显示学生信息
         4.修改学生信息
         5.按照学生学号由低-高排序
         6.按照学生学号由高-低排序
         0.退出系统
=====================================================
    """
    print(menu)

def addInfo():
    while True:
        newname = input("请输入需添加学生的姓名:")
        newsex = input("请输入需添加学生的性别:")
        newage = input("请输入需添加学生的年龄;")
        newhum = input("请输入需添加学生的学号:")
        newInfo={}                       #定义一个空字典,用于存放一个学生的信息
        newInfo["name"] = newname
        newInfo["sex"] = newsex
        newInfo["age"] = newage
        newInfo["hum"] = newhum
        stuInfo.append(newInfo)       #将含有学生信息的字典添加到列表中
        qut = input("输入no结束添加学生信息,输入其他任意字符将继续:")
        if qut == "no":
            break
        
def delInfo():
    while True:
        delnumber=int(input("请输入需删除的学生序号:"))-1
        del stuInfo[delnumber]["name"]            #删除学生的姓名
        del stuInfo[delnumber]["sex"]             #删除学生的性别
        del stuInfo[delnumber]["age"]             #删除学生的年龄
        del stuInfo[delnumber]["hum"]             #删除学生的学号
        qut = input("输入no结束删除学生信息,输入其他任意字符将继续:")
        if qut == "no":
            break

def showInfo():
    for item in stuInfo:
        print(---------------------------)
        print(item["name"],item["sex"],item["age"],item["hum"])
    print(---------------------------)


def modInfo():
    while True:
        modnumber = int(input("请输入需修改学生的序号:"))-1
        modname = input("请输入修改后学生的姓名:")
        modsex = input("请输入修改后学生的性别:")
        modage = input("请输入修改后学生的年龄:")
        modhum = input("请输入修改后学生的学号:")
        stuInfo[modnumber]["name"] = modname      #修改学生的成绩
        stuInfo[modnumber]["sex"] = modsex        #修改学生的性别
        stuInfo[modnumber]["age"] = modage        #修改学生的年龄
        stuInfo[modnumber]["hum"] = modhum        #修改学生的学号
        qut = input("输入no结束修改学生信息,输入其他任意字符将继续:")
        if qut == "no":
            break



def rise_hum():
    print("按照学生学号由低-高显示:")
    result_1 = sorted(stuInfo,key=lambda x:x["hum"])
    for item in result_1:
        print(---------------------------)
        print(item["name"],item["sex"],item["age"],item["hum"])
    print(---------------------------)

def down_hum():
    print("按照学生学号由高-低显示")
    result_2 = sorted(stuInfo, key=lambda y:y["hum"],reverse=True)
    for item in result_2:
        print(---------------------------)
        print(item["name"],item["sex"],item["age"],item["hum"])
    print(---------------------------)

main()

 

Python项目实践:学生信息管理系统

标签:break   family   menu   append   pytho   NPU   col   def   sort   

原文地址:https://www.cnblogs.com/qq2399382639/p/14514831.html


评论


亲,登录后才可以留言!