专栏首页技术探究-前端、Python、爬虫、数据分析、工具11 Python 基础: 知识巩固,实现一个简易学生管理系统
原创

11 Python 基础: 知识巩固,实现一个简易学生管理系统

本文首发于腾讯云+社区,也可关注微信公众号【离不开的网】支持一下。


学生管理系统

image.png

根据设计的系统结构功能图实现这个学生管理系统。

首先,我们定义了一个LoginModule类,此为登录模块,主要功能就是定义账号属性【用户名,密码】,然后定义一个登录login方法实现验证用户名和密码是否正确,完全正确则返回True,否则返回False。

class LoginModule(object):
    def __init__(self):
        self.username = 'admin'
        self.password = 'admin'
    
    def login(self):
        username = input('请输入用户名')
        password = input('请输入密码')
        if username== self.username and password==self.password:
            return True
        else:
            return False
        pass

第二步就是定义了一个Manager类,学生管理模块,这个模块主要需要实现几个方法,包括实现一个列表用于存储所有学生信息并通过showList方法显示学生列表,实现一个addStudent方法用于添加学生信息,实现一个delStudent方法用于删除学生信息,实现一个updateStudent方法用于更改学生信息。

【注意:】本案例只是实现了addStudent添加学生方法,留下两个删除与更改学生信息方法让你们进行练习,方法类似,很容易实现的。

class Manager(object):
    def __init__(self):
        self.studentList = []
    def addStudent(self):
        print('请输入你要添加学生的信息')
        name = input('请输入学生的名字')
        age = input('请输入学生的年龄')
        score = input('请输入学生的得分')
        student = Student(name,age,score)
        self.studentList.append(student)
        self.showList()
        
    def delStudent(self):
        pass
    
    def updataStudent(self):
        pass
        
    def showList(self):
        #显示所有学生列表
        print('所有学生列表:')
        for item in self.studentList:
            print('姓名:{},年龄:{},成绩:{}'.format(item.name,item.age,item.score))
        
        self.run()
        
    def delStudent(self):
        pass
    def editSudent(self):
        pass
    def showStudent(self):
        pass
    def run(self):
        print('请输入您要进行的操作:1、查看所有学生信息;2、编辑修改学生信息;3、显示具体某个学生信息;4、删除某个学生(请输入数字);5、添加学生;0、退出系统')
        
        try:
            num = int(input('请输入你要进行的操作(请输入数字)'))
        except:
            print('Error!Error!Error!---你输入的不是数字')
            self.run()
        
        if num == 1:
            self.showList()
        elif num == 2:
            self.editSudent()
        elif num == 3:
            self.showStudent()
        elif num == 4:
            self.delStudent()
        elif num == 5:
            self.addStudent()
        elif num == 0:
            pass
        else:
            print('没有这个选项,请重新输入')
            self.run()

定义了一个学生Student类,这是一个学生对象用于定义学生的姓名、年级、成绩和年龄,能够修改这些属性方法,能够查看这些属性的方法。

class Student(object):
    num = 1
    def __init__(self,name,age,score):
        self.id = Student.num
        Student.num = Student.num + 1
        self.name = name
        self.age = age
        self.score = score

最后,就是定义系统运行模块了,System类,用于将系统运行起来。

class System(object):
    def __init__(self):
        self.loginModule = LoginModule()
        self.manager = Manager()
        
    def run(self):
#         if self.loginModule.login():
        if True:
            #系统运行模式
            print('登陆成功')
            self.manager.run()
        else:
            print('你输入的密码是错误的')
            self.run()
        print('退出系统')
    

app = System()
app.run()
## 学生管理系统运行结果

登陆成功
请输入您要进行的操作:1、查看所有学生信息;2、编辑修改学生信息;3、显示具体某个学生信息;4、删除某个学生(请输入数字);5、添加学生;0、退出系统
请输入你要进行的操作(请输入数字)5
请输入你要添加学生的信息
请输入学生的名字laochen
请输入学生的年龄18
请输入学生的得分99
所有学生列表:
姓名:laochen,年龄:18,成绩:99
请输入您要进行的操作:1、查看所有学生信息;2、编辑修改学生信息;3、显示具体某个学生信息;4、删除某个学生(请输入数字);5、添加学生;0、退出系统
请输入你要进行的操作(请输入数字)0
退出系统

一个很简单的学生管理系统就完成了,当然这只是很初级的,你也可以根据自己理解加上很多功能和完善它。


原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 11 Python 基础: 知识巩固,实现一个简易学生管理系统

    首先,我们定义了一个LoginModule类,此为登录模块,主要功能就是定义账号属性【用户名,密码】,然后定义一个登录login方法实现验证用户名和密码是否正确...

    小Gy
  • 12 Python 基础: 如何优化代码质量,错误、调试和测试你必须要懂.md

    有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。

    小Gy
  • 10 Python 基础: 如何定制类,这里有答案

    看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。

    小Gy
  • PyQt 5信号与槽的几种高级玩法

    在Qt中,每一个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject的子对象)都支持信号与槽机制。当信号发射时,连接的槽函数将会...

    博文视点Broadview
  • 第三天:创建型模式--建造者模式

    创建一个由多个部分构成的对象,而且它的构成需要一步接一步地完成,只有当各个部分都创建好后,这个对象才算创建完成。

    喵叔
  • python pyqt5 QCalendar

    setDateRange() setMinimumDate() setMaxmumDate() setSelectedDate()

    用户5760343
  • python pyqt5 QToolBar

    import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.Qt...

    用户5760343
  • 基于图形项的复杂形状和动画--千足虫

    在本篇中,会看到利用图形项来绘制复杂形状和动画,模拟“千足虫”的运动和消亡过程。程序有一个内部的定时器,在没段时间间隙中,这些千足虫都在不停的移动。如果它们的头...

    用户6021899
  • Python|520表白神器

    众所周知,5月20日为“520”情人节,这一天也是即将到来,大家都希望与自己的男神女神过一个浪漫的情人节。但是还有很多像小编这样的单身狗,不知道如何向自己的男神...

    算法与编程之美
  • 我的tkinter学习笔记4

    用户6367961

扫码关注云+社区

领取腾讯云代金券