学生信息管理系统Python面向对象版
作者:青衣煮茶 发布时间:2021-11-11 03:11:04
标签:python,管理系统
本文实例为大家分享了python学生信息管理系统的具体代码,供大家参考,具体内容如下
"""
程序名称:学生信息管理系统
版本信息:0.1
开发者:飞宇
开始时间:2018.3.23 19:45
版本更新时间:2018.4.2 23:08
格式:IPO
OOP面向对象
"""
# 学生类
class Student:
def __init__(self, stuId, name, age, sex, dept, nation):
self.stuId = stuId
self.name = name
self.age = age
self.sex = sex
self.dept = dept
self.nation = nation
def studentoop(self):
pass
# 管理系统类
class Sys:
def __init__(self):
pass
# 展示系统菜单
def show_menu(self):
print("=" * 56)
print("")
print(" 学生信息管理系统 v1.0")
print("")
print(" 1:添加用户信息")
print(" 2:查询用户信息")
print(" 3:修改用户信息")
print(" 4:删除用户信息")
print(" 5:显示用户信息")
print(" 0:退出系统")
print("")
print("=" * 56)
# 输入学生菜单
def getinfo(self):
global new_stuId
global new_name
global new_age
global new_sex
global new_dept
global new_nation
new_stuId = input("请输入学号:")
new_name = input("请输入名字:")
new_age = input("请输入年龄:")
new_sex = input("请输入性别:")
new_dept = input("请输入专业:")
new_nation = input("请输入民族:")
# 添加学生信息
def add_stus(self):
#调用getinfo方法
self.getinfo()
#以ID为Key,将新输入的信息赋值给Student类
students[new_stuId] = Student(new_stuId, new_name, new_age, new_sex, new_dept, new_nation)
# 打印添加的学生信息
print("学号:%s" % students[new_stuId].stuId, "姓名:%s" % students[new_stuId].name, "年龄:%s" % students[new_stuId].age,
"性别:%s" % students[new_stuId].sex, "专业:%s" % students[new_stuId].dept, "民族:%s" % students[new_stuId].nation)
print("=" * 56)
# 查询学生信息
def find_stus(self):
find_nameId = input("请输入要查的学号")
if find_nameId in students.keys():
print("学号:%s\t名字:%s\t年龄:%s\t性别:%s\t名字:%s\t民族:%s" %
(students[new_stuId].stuId, students[new_stuId].name, students[new_stuId].age,
students[new_stuId].sex, students[new_stuId].dept, students[new_stuId].nation))
else:
print("查无此人")
print("=" * 56)
# 修改学生信息
def alter_stus(self):
alterId = input("请输入你要修改学生的学号:")
self.getinfo()
# 当字典中Key相同时,覆盖掉以前的key值
if alterId in students.keys():
students[new_stuId] = Student(new_stuId, new_name, new_age, new_sex, new_dept, new_nation)
del students[alterId]
else:
print("查无此人")
print("=" * 56)
# 删除学生信息
def del_stus(self):
cut_nameID = input("请输入要删除的学号:")
if cut_nameID in students.keys():
del students[cut_nameID]
else:
print("查无此人")
print("=" * 56)
# 显示学生信息
def show_stus(self):
for new_stuId in students:
print("学号:%s\t名字:%s\t年龄:%s\t性别:%s\t名字:%s\t民族:%s" %
(students[new_stuId].stuId, students[new_stuId].name, students[new_stuId].age,
students[new_stuId].sex, students[new_stuId].dept, students[new_stuId].nation))
print("=" * 56)
# 退出
def exit_stus(self):
print("欢迎下次使用")
exit()
# 创建系统对象
sys = Sys()
# 定义一个容器来存储学生信息
students = {}
sys.show_menu()
while True:
choice = int(input("请选择功能:"))
if choice == 1:
sys.add_stus()
elif choice == 2:
sys.find_stus()
elif choice == 3:
sys.alter_stus()
elif choice == 4:
sys.del_stus()
elif choice == 5:
sys.show_stus()
elif choice == 0:
sys.exit_stus()
else:
print("您输入有误,请重新输入")
来源:https://blog.csdn.net/wfy2695766757/article/details/83037373
0
投稿
猜你喜欢
- 日志日志是跟踪软件运行时所发生的事件的一种方法。软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以
- 目前任务需要做一个界面程序,PyQt是非常方便的选择,QT丰富的控件以及python方便的编程。近期遇到界面中执行一些后台任务时界面卡死的情
- Microsoft JET Database Engine 错误 '80040e2
- 使用os.environ来读取和修改环境变量:import osprint (os.environ["TEMP"])my
- 如何让animate在显示图片的过程保持窗口的标题不变animate -title "My Image Sequence"
- 我在使用python读取几十万行的文件中的数据,并构造字典,列表等数据结构时,再访问字典,列表时,一般都会出现内存不够的问题,然后只能循环读
- 设计单个页面,一点一点做就行了,但处理的页面多了,每个页面都一点点的做下去是非常费时费力的,特别是当许
- 一、缺失数据剔除1. python 方式获取所有的缺失值,返回一个 true 和 false 的表df.isnull()统计缺失值,按照每一
- 在例子视图中返回文本的方式有点特别,即HTML被直接硬编码在Python代码之中。def current_datetime(request)
- 最近在做搜索设计时,发现了两个容易纠结的小问题,在这里谈谈自己的一些分析。问题一:提交的关键字是哪个?凡客的这个例子中,搜索建议“时尚斜拉链
- 导语:简洁并不等于极简主义,在保持网站简洁的外观的同时,辅以其它元素的使用,同样能够达到要求。那如何做到这一点呢?通过本文你能从中学到一些经
- 前言最近天气好像有了点小脾气,总是在万分晴朗得时候耍点小性子~阴会天,下上一会的雨~提醒我们时刻记得带伞哦,不然会被雨淋或者被太阳公公晒到
- GetRef 函数 返回一个指向一过程的引用,此过程可绑定某事件。 Set object.eventname = GetRef(procna
- Why use Sockets?套接字是网络的基础。它们使在两个不同程序或设备之间的信息传输成为可能。例如,当您打开浏览器时,您作为客户端正
- 许多人在编写程序的时候因为贪图方便或不小心使用到程式的保留字,有时明明程序没有错,就是无法正确执行。您知道有哪些常见的保留字吗? 下面的都是
- 二级域名的解析指向ASP源代码,懂程序的人一看就明白怎么实现了。呵呵!真简单<%@ LANGUAGE =&nb
- 最近项目中需要与管易云erp做对接,看了他的接口文档,php的示例代码,于是用python仿写。其中传的参数data中前面几个json数据是
- 在制作表单的时候,我们往往用CSS来重新定义表单元素(如输入框、按钮等)的样式,以便看起来更加美观。而表单中的很多不同元素(如输入框、提交按
- 1.Training: 如何训练模型一句话理解机器学习一般训练过程 :通过有标签样本来调整(学习)并确定所有权重Weights和偏差Bias
- 一、asp.net中导出Execl的方法:在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文