Python实现简易的信息管理系统
Python信息管理系统
- 刚学习Python,写了一个十分简易的信息管理系统。
环境
- Python3.7.4,安装教程可以参考Python安装
- PyCharm,安装教程可以参考PyCharm安装
功能
- 主要功能如下:
- 登录模块。
- 根据用户信息判断用户角色。
- 调用聚合网API,获取星座运势。
项目展示
文件结构
- 文件结构如下:
- data:数据的初始化,存储用户账号密码信息。
- DateUtil:工具类,获取用户属相、星座、年龄、图书信息等信息。
- error:异常类。
- main:主函数入口。
- user:用户类。
代码部分
- 下面直接上代码,如下:
user代码
from haicoder.DateUtil import DateUtil#用户类模块
class User():def __init__(self, name, password):self.name = nameself.password = passworddef login(self,name,password):if name ==self.name and password ==self.password:return selfclass Student(User):def __init__(self,name,password,year=0,month=0,date=0,group="无",source=0):super().__init__(name,password)self.year = yearself.month = monthself.date = dateself.group = groupself.source = sourceself.util = DateUtil()#添加学生信息def updateStudentInfo(self):print("======更新信息=======")while True:try:year = int(input("请输入出生年份:"))breakexcept ValueError:print("年份的输入格式错误,请输入数字:")while True:try:month = int(input("请输入出生月份:"))breakexcept ValueError:print("月份的输入格式错误,请输入数字:")while True:try:date = int(input("请输入日期:"))breakexcept ValueError:print("日期的输入格式错误,请输入数字:")while True:try:group = int(input("请输入年级:"))breakexcept ValueError:print("年级的输入格式错误,请输入数字:")while True:try:source = int(input("请输入分数:"))breakexcept ValueError:print("分数的输入格式错误,请输入数字:")self.year = yearself.month = monthself.date = dateself.group = groupself.source = sourceprint("添加成功!")#展示学生信息def showStudentInfo(self):print("======显示学生信息======")sx = self.util.GetSX(self.year)xz = self.util.GetXZ(self.month,self.date)age = self.util.GetAge(self.year)xzys = self.util.GetXZYS(xz)print("学生姓名:%s,class:%s,属向:%s,星座:%s"%(self.name,self.group,sx,xz))print("年龄:%s"%age)print("分数为:%s"%self.source)print("星座运势:%s"%xzys)class Teacher(User):def __init__(self,name,password,subject=0):super().__init__(name, password)self.subject=subjectdef showTeacherInfo(self):print("Teacher name:%s,subject:%s,"%(self.name,self.subject))
data代码
from haicoder.user import Student
from haicoder.user import Teacher
from haicoder.error import UserError
#数据模块
class Group():def __init__(self):self.data =[Student("张三",'123',1997,9,14,"six",90),Student("李四", '123'),Student("王五", '123'),Teacher("Tony",'123')]def check(self,inputUserName,inputPassword):for user in self.data:u = user.login(inputUserName,inputPassword)if u:return uelse:raise UserError("用户名或者密码错误")
DateUtil代码
#工具类
from lxml import htmlfrom haicoder.error import UserError
import datetime
import json
import requestsclass DateUtil():#数据初始化def __init__(self):self.sx = ['猴','鸡','狗','猪','鼠','牛','虎','兔','龙','蛇','马','羊']self.xz = ['摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座','巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座']self.xz_data = [(1,20),(2,19),(3,21),(4,21),(5,21),(6,22),(7,23),(8,23),(9,23),(10,23),(11,23),(12,23)]self.book = ['','','']#验证信息def check(self,inputUserName,inputPassword):for user in self.data:u = user.login(inputUserName,inputPassword)if u:return uelse:raise UserError("用户名或者密码错误")#获取属相def GetSX(self,year):print("获取属相")position = int(year) % 12return self.sx[position]#获取星座def GetXZ(self,month,date):print("获取星座")n = 0while self.xz_data[n] < (month, date):n += 1return self.xz[n]#获取年龄def GetAge(self,year):print("获取年龄")return datetime.date.today().year-year#星座运势def GetXZYS(self,xz):print("今日星座运势")url = "http://web.juhe.cn:8080/constellation/getAll?consName=%s&type=today&key=ea6dcc3f96608847eea99f38b620685a"%xzjsonStr = requests.get(url).textresult = json.loads(jsonStr)xzys = result['summary']return xzys
- url = “http://web.juhe.cn:8080/constellation/getAll?consName=%s&type=today&key=ea6dcc3f96608847eea99f38b620685a”%xz
- 以上代码的key为本人申请,一天只有50次免费,所以大家可以自己申请一个key。
- 申请步骤如下:
error代码
#错误信息模块
class UserError(Exception):def __init__(self,error):self.error = errordef __str__(self):return self.error
main代码
from haicoder.user import Student,Teacher,User
from haicoder.data import Group
from haicoder.error import UserError#入口模块
if __name__=='__main__':print("学生信息管理系统登录")group = Group()for i in range(3):name = input("请输入姓名:")pw = input("请输入密码:")try:user = group.check(name,pw)except UserError as e:print(e)else:print("正常登录")if isinstance(user,Student):user.updateStudentInfo()user.showStudentInfo()elif isinstance(user,Teacher):user.showTeacherInfo()break
- 以上为本人做的一个简易的学生信息管理系统,本人学识尚浅,如有不对的地方,请大家及时指出,如果想学习更多相关Python知识,本人推荐嗨客网。
后续
更多文章,可以关注下方公众号:
Python实现简易的信息管理系统相关推荐
- 基于Python实现简易学生信息管理系统
目录 一.系统简介 二.步骤分析 三.需求实现 四.具体实现 4.1 添加学生信息的函数 4.2 删除学生信息的函数 4.3 修改学生信息的函数 4.4 查询学生信息的函数 4.5 显示所有学生信息 ...
- python制作个人信息管理系统_python实现简易学生信息管理系统
本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下 简易学生信息管理系统主要功能有 1 录入学生信息 2 查找学生信息 3 删除学生信息 4 修改学生信息 5 排 ...
- Python程序设计之 —— 简易学生信息管理系统
大家好,我是 Enovo飞鱼,今天分享一个 Python程序设计之 -- 简易学生信息管理系统 ,小白或者正在学习Python的小伙伴推荐阅读,加油
- python制作学生管理系统_Python——面向对象,简易学生信息管理系统
一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...
- python学生管理系统界面-Python实现GUI学生信息管理系统
本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境: 软件环境: OS:RedHat6.3 Lib:Pygtk Language:Python S ...
- python大学生信息管理系统_基于Python的高等学校社团信息管理系统
基于 Python 的高等学校社团信息管理系统 王金龙 孙月兴 [摘 要] 摘要 : 首先 , 本文通过对高等学校大学生社团信息化管理存在的问题进 行了阐述 , 然后简要介绍了 Python 语言的基 ...
- Python制作基础学生信息管理系统
本文详细讲解了Python制作基础学生信息管理系统的实现,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧.编程资料领取 目录 一.前言 二.开发环境: 三.涉及知 ...
- 计算机毕业设计Python+djang公务员考试信息管理系统(源码+系统+mysql数据库+Lw文档)
项目介绍 随着社会的发展,近些年来的毕业生大多数会选择考研,考公员和考试教师资格证以增加自己在未来社会中的竞争能力.为了让这些有志之士能够有一个更好的学习和交流平台,我们通过计Python+djang ...
- Python题目:学生信息管理系统
Python题目:学生信息管理系统 选用list.tuple.dictionary或map等数据结构,存储X个学生的三门课的成绩(机器学习.Python程序设计.研究生英语),并实现以下 ...
最新文章
- 关于Vue中常用的工具函数封装
- 质量追溯和防窜货管理解决分析
- oracle报错-1,[Oracle报错]RMAN-12005: error during channel cleanup/ORA-19550: cannot ...
- mini2440使用jlink烧写superboot到norflash
- MapReduce经典案例——统计单词数
- Nestable 可移动拖拽的树型结构的使用(jQuery)
- 为什么引入devops_DevOps可以为您的文档做什么?
- @程序员,CSDN卫衣、背包、鼠标垫......福利来啦!!!
- 蒋涛:《Orange’S:一个操作系统的实现》属于真正Hacker的
- 如何导出微信聊天记录
- 开源网站云查杀方案之ClamAV服务器的搭建
- 金融知识普及知识竞赛
- POJ3608-旋转卡壳
- Android反模拟器的总结
- 金字塔(算法竞赛进阶指南)
- USB开发-USB基础知识
- 基于FPGA的设计思想之串并转换与流水线
- python compare函数_Python函数基础
- android:浏览器添加书签
- 网站安全检测之用户密码找回网站漏洞的安全分析与利用