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实现简易的信息管理系统相关推荐

  1. 基于Python实现简易学生信息管理系统

    目录 一.系统简介 二.步骤分析 三.需求实现 四.具体实现 4.1 添加学生信息的函数 4.2 删除学生信息的函数 4.3 修改学生信息的函数 4.4 查询学生信息的函数 4.5 显示所有学生信息 ...

  2. python制作个人信息管理系统_python实现简易学生信息管理系统

    本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下 简易学生信息管理系统主要功能有 1 录入学生信息 2 查找学生信息 3 删除学生信息 4 修改学生信息 5 排 ...

  3. Python程序设计之 —— 简易学生信息管理系统

    大家好,我是 Enovo飞鱼,今天分享一个 Python程序设计之 -- 简易学生信息管理系统 ,小白或者正在学习Python的小伙伴推荐阅读,加油

  4. python制作学生管理系统_Python——面向对象,简易学生信息管理系统

    一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...

  5. python学生管理系统界面-Python实现GUI学生信息管理系统

    本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境: 软件环境: OS:RedHat6.3 Lib:Pygtk Language:Python S ...

  6. python大学生信息管理系统_基于Python的高等学校社团信息管理系统

    基于 Python 的高等学校社团信息管理系统 王金龙 孙月兴 [摘 要] 摘要 : 首先 , 本文通过对高等学校大学生社团信息化管理存在的问题进 行了阐述 , 然后简要介绍了 Python 语言的基 ...

  7. Python制作基础学生信息管理系统

    本文详细讲解了Python制作基础学生信息管理系统的实现,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧.编程资料领取 目录 一.前言 二.开发环境: 三.涉及知 ...

  8. 计算机毕业设计Python+djang公务员考试信息管理系统(源码+系统+mysql数据库+Lw文档)

    项目介绍 随着社会的发展,近些年来的毕业生大多数会选择考研,考公员和考试教师资格证以增加自己在未来社会中的竞争能力.为了让这些有志之士能够有一个更好的学习和交流平台,我们通过计Python+djang ...

  9. Python题目:学生信息管理系统

    Python题目:学生信息管理系统        选用list.tuple.dictionary或map等数据结构,存储X个学生的三门课的成绩(机器学习.Python程序设计.研究生英语),并实现以下 ...

最新文章

  1. 关于Vue中常用的工具函数封装
  2. 质量追溯和防窜货管理解决分析
  3. oracle报错-1,[Oracle报错]RMAN-12005: error during channel cleanup/ORA-19550: cannot ...
  4. mini2440使用jlink烧写superboot到norflash
  5. MapReduce经典案例——统计单词数
  6. Nestable 可移动拖拽的树型结构的使用(jQuery)
  7. 为什么引入devops_DevOps可以为您的文档做什么?
  8. @程序员,CSDN卫衣、背包、鼠标垫......福利来啦!!!
  9. 蒋涛:《Orange’S:一个操作系统的实现》属于真正Hacker的
  10. 如何导出微信聊天记录
  11. 开源网站云查杀方案之ClamAV服务器的搭建
  12. 金融知识普及知识竞赛
  13. POJ3608-旋转卡壳
  14. Android反模拟器的总结
  15. 金字塔(算法竞赛进阶指南)
  16. USB开发-USB基础知识
  17. 基于FPGA的设计思想之串并转换与流水线
  18. python compare函数_Python函数基础
  19. android:浏览器添加书签
  20. 网站安全检测之用户密码找回网站漏洞的安全分析与利用

热门文章

  1. Android——使用contentprovider获取内容
  2. python小课文件_Python--小甲鱼学习笔记--第28课:文件(文件打开方式、文件对象方法)...
  3. 百度api 人物漫画脸
  4. 场景应用移动支付的另类体验
  5. vue中动态绑定背景图, 图片水平垂直居中
  6. 拧巴的李想,黯淡的理想
  7. 图像分类和目标检测到底有什么区别??
  8. 压缩BCD码和非压缩BCD码的区别
  9. 漫步有感 | 让自己温和一点
  10. Android 上面关于不受控制3RD原生代码崩溃问题