学生管理系统——Python结课作业

目录

 

1.各函数介绍:

2.功能详解:

3.代码展示


 

1.各函数介绍:

def meun()菜单函数

def add_info(student_info)添加学生信息

def show_info(student_info)显示所有的信息

def delete_info(student_info)删除学生信息

def get_number(*t)得到学号的值

def get_score(*t)得到成绩的值

def sort_info(student_info)排序

def main()主函数

2.功能详解:

(1)菜单显示:

36836ec5cca348f2835708bd7ea4db35.png

 

(2)添加信息:

每次添加一名学生的信息,依次输入学号、姓名、成绩,如果输入的学号与记录中的重复则退出添加框,转到主菜单请用户重新选择。

e2ff5b3580544e62a23696eef0a1414a.png

9d30d333ced14d09939a877261683f0f.png

 

(3)显示信息

显示全部的已存入的学生信息

0b858b2a4f4c4527920973fcc9325e2c.png

(4)删除信息:

99e039bdd0b842e8acb2cb3cfffd0c2c.png

全部删除就是删除全部记录,按学号删除就是先找到要找到列表中的学号相同的字典,然后删除,如果没有则显示“没有找到!”,返回主菜单。

 

(5)查找记录

635c1a57e95141d9b3c549593fa68306.png

姓名查找就是输入姓名,输出这条记录。如果没有则显示“没有找到!”,返回主菜单。

81ba492fcb0c49fc8070fc9df5fed619.png

同理,学号查找就是输入学号。

(6)排序{由低到高}:

f69ba25d3778470aa93edb18dfeb2299.png

学号:

bf92118a513e4dfd95209b7207519a4c.png

成绩:

710fadd2d60c4dd6aec1d962d47d1317.png

(7)修改信息:

71aea0c618434aa0b2ab35958f38d623.png

选择要修改的选项,再输入对应的学号,之后再输入正确的姓名或学号。如果输入的学号不对,则输出“没有找到!”并返回主菜单。

(8)退出:

输入0,则会完全退出主菜单。

 

3.代码展示

#菜单
def meun():
    print("-"*20)
    print("1、添加学生信息")
    print("2、显示所有学生的信息")
    print("3、删除学生信息")
    print("4、查找学生信息")
    print("5、排序")
    print("6、修改学生信息")
    print("0、退出")
    print("-"*20)
#添加学生信息
def add_info(student_info):
        a = int(input("请输入学号:"))
        for b in student_info:
            if b["number"] == a:
                print("已存在该学生信息!")
                return
        n = input("请输入名字:")
        s = int(input("请输入成绩:"))
        info = {"name":n,"number":a,"score":s}
        student_info.append(info)
#显示所有学生的信息
def show_info(student_info):
    if not student_info:
        print("没有学生信息快去添加吧!")
        return
    print("名字".center(10),"学号".center(4),"成绩".center(4))
    for info in student_info:
         print(str(info["name"]).center(10)
               ,str(info["number"]).center(8)
               ,str(info["score"]).center(4))
#删除学生信息
def delete_info(student_info):
    f1 = input("请输入要进行的操作序号:1、删除全部 2、按学号删除")
    if f1 == '1':
        student_info.clear()
        print("全部删除成功!")
    elif f1 == '2':
        number = int(input("请输入要删除学生的学号:"))
        a = 1
        for s in student_info:
            if s["number"] == number:
                student_info.remove(s)
                print("删除成功!")
                a = 0
                break
        if a == 1:
            print("没找到!")
    else:
        print("请输入正确选项:")
#查找学生信息
def search_info(student_info):
    f1 = input("请选择查找方式:1、姓名查找 2、学号查找")
    a = 1
    if f1 == '1':
        name = input("请输入姓名:")
        for s in student_info:
            if s["name"] == name:
                print(s)
                a = 0
                break
        if a == 1:
            print("没有找到!")
    elif f1 == '2':
        number = int(input("请输入学号:"))
        for s in student_info:
            if s["number"] == number:
                print(s)
                a = 0
                break
        if a == 1:
            print("没有找到!")
    else:
        print("请输入正确选项:")
#修改学生信息
def change_info(student_info):
    f1 = input("请输入要修改的选项:1、姓名 2、成绩")
    f2 = int(input("请输入要修改的学号:"))
    a = 1
    if f1 == '1':
        for s in student_info:
            if s["number"] == f2:
                s["name"] = input("请输入姓名:")
                print("修改成功!")
                a = 0
                break
        if a == 1:
            print("没有找到!")
    elif f1 == '2':
        for s in student_info:
            if s["number"] == f2:
                s["score"] = int(input("请输入成绩:"))
                print("修改成功!")
                a = 0
                break
        if a == 1:
            print("没有找到!")
    else:
        print("请输入正确选项:")
#得到学号和成绩的值
def get_number(*t):
    for s in t:
        return s["number"]
def get_score(*t):
    for s in t:
        return s["score"]
#排序
def sort_info(student_info):
    f1 = input("请输入要进行排序的选项:1、学号 2、成绩")
    if f1 == '1':
        print("学号由低到高显示如下:")
        list = sorted(student_info,key = get_number)
        show_info(list)
    if f1 == '2':
        print("成绩由低到高显示如下:")
        list = sorted(student_info,key = get_score)
        show_info(list)
        
def main():
    student_info = []
    while True:
        meun()
        num = input("请输入选项:")
        if num == '1':
              add_info(student_info)
        elif num == '2':
            show_info(student_info)
        elif num == '3':
            delete_info(student_info)
        elif num == '4':
            search_info(student_info)
        elif num == '5':
            sort_info(student_info)
        elif num == '6':
            change_info(student_info)
        else:
            break
main()

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值