Python实现学生管理系统

 实现此功能可以考验对python基础知识的掌握,很适合刚刚入门python的人来实践,对代码有疑问的可以关注和私信作者,欢迎我们一起探讨。

from unicodedata import name
stud_list=[]
stud_dict={}

class student:
    #查看所有学生信息
    def show():
        print("姓名\t\t\t学号\t\t\t成绩")
        for stud_dict in stud_list:
           print("%s\t\t\t%s\t\t\t%s"%(stud_dict["name"],stud_dict["studno"],stud_dict["studscore"]))
    #查看指定学生信息
    def lookup():
        find_name=input("请输入要查询的学生姓名:")
        for stud_dict in stud_list:
            if(stud_dict["name"]==find_name):
                print("姓名\t\t\t学号\t\t\t成绩")
                print("%s\t\t\t%s\t\t\t%s"%(stud_dict["name"],stud_dict["studno"],stud_dict["studscore"]))
    #添加学生信息
    def inster():
        name=input("请输入姓名:")
        studno=input("请输入学号:")
        studscore=input("请输入成绩:")
        stud_dict={"name":name,"studno":studno,"studscore":studscore}
        stud_list.append(stud_dict)
        print(stud_list)
        print("成功添加%s的信息"%stud_dict["name"])
    #修改学生成绩
    def change():
        findname=input("请输入要修改学生的姓名:")
        for stud_dict in stud_list:
            if stud_dict["name"]==findname:
                stud_dict["studscore"]=input("请输入修改后的成绩:")
                print("修改成功\n")
    #删除指定学生信息
    def delete():
        findname=input("请输入要删除学生的姓名:")
        for stud_dict in stud_list:
            if(stud_dict["name"]==findname):
                stud_list.remove(stud_dict)

if __name__ == "__main__":
    def fun(fun2):
        def main():
            fun2()
            while True:
                print("\n")
                print("*"*40)
                print("**********学生成绩管理系统**********")
                print("***1.查看所有学生***")
                print("***2.查看指定学生***")
                print("***3.添加学生信息***")
                print("***4.修改学生信息***")
                print("***5.删除学生信息***")
                print("***6.退出系统***")
                print("*"*40)
                num = int(input("请输入要执行的操作:"))
                if num == 1:
                    student.show()
                elif num == 2:
                    student.lookup()
                elif num == 3:
                    student.inster()
                elif num == 4:
                    student.change()
                elif num  ==5:
                    student.delete()   
                elif num == 6:
                    print("欢迎下次使用!!!")
                    break
                else:
                    print("输入的值无效")
                    break 
        return main 

    def fun1():    #这里的fun1其实就是一个装饰器,是后续加上去的功能
        ps = 123456 
        ps1 = int(input("请输入密码:"))
        while ps !=ps1: 
            ps1 = int(input("请再次输入密码:"))
            if ps1 != ps:
                continue
    
    fun1 = fun(fun1)   #使用装饰器实现密码的输入,这里调用fun()函数将fun1函数赋给fun2(),将返回的main赋给fun1。
    fun1() #因为使用装饰器时已经将main赋给fun1(),所以这里调用fun1()实则是调用main()。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前进的阿星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值