Python简易学生管理系统
目录结构:
1、 学生文件 student.py
# 学生类
class Student(object):
# 存放学生信息
student_info = {}
# 学生初始化方法
def __init__(self,id,name,addr,tel):
self.id = id
self.name = name
self.addr = addr
self.tel = tel
# 将学生的信息添加到学生信息字典里
self.student_info["学号"] = self.id
self.student_info["姓名"] = self.name
self.student_info["地址"] = self.addr
self.student_info["电话"] = self.tel
2、 管理系统文件 manager.py
import json
import student
# 管理系统类
class Manager(object): # 展示所有学生信息的方法
def show_all_student(self):
with open("students_info.json", mode="r", encoding="utf8") as f:
content = json.loads(f.read())
if content:
print("所有的学生信息如下:")
print("#######################################")
for stu in content:
print(stu)
print("#######################################")
elif len(content) == 0:
print("Sorry! 一个学生都没有!") # 添加学生的方法
def add_student(self):
print("~~~~~~~~~~~~~~~~~~~~将要开始添加学生信息~~~~~~~~~~~~~~~~~~~~~")
id = input("请输入学号:")
name = input("请输入姓名:")
addr = input("请输入地址:")
tel = input("请输入电话:")
new_student = student.Student(id, name, addr, tel)
with open("students_info.json", mode="r", encoding="utf8") as f1:
content = json.loads(f1.read()) new_content = list(content)
new_content.append(new_student.student_info)
json_content = json.dumps(new_content) with open("students_info.json",mode="w",encoding="utf8") as f2:
f2.write(json_content)
print("~~~~~~~~~~~~~~~~~~~~!!!添加完成!!!~~~~~~~~~~~~~~~~~~~~~") # 删除学生的方法
def delete_student(self):
print("~~~~~~~~~~~~~~~~~~~~将要开始添加学生信息~~~~~~~~~~~~~~~~~~~~~")
id = input("请输入要删除的学生的学号:")
with open("students_info.json",mode="r",encoding="utf8") as f:
content = list(json.loads(f.read()))
for item in content:
if item["学号"] == id:
content.remove(item)
json_content = json.dumps(content)
with open("students_info.json", mode="w", encoding="utf8") as f2:
f2.write(json_content)
print("~~~~~~~~~~~~~~~~~~~~!!!删除成功!!!~~~~~~~~~~~~~~~~~~~~~")
return
print("输入的学号不存在!!!") # 修改学生的方法
def update_student(self):
print("~~~~~~~~~~~~~~~~~~~~开始修改学生信息~~~~~~~~~~~~~~~~~~~~~")
with open("students_info.json", mode="r", encoding="utf8") as f:
text = list(json.loads(f.read())) delete_number = input("请输入要修改的学生学号:")
for i in text:
if i["学号"] == delete_number:
new_addr = input("请输入修改后的地址:")
new_tel = input("请输入修改后的电话:")
i["地址"] = new_addr
i["电话"] = new_tel
json_text = json.dumps(text)
with open("students_info.json", mode="w", encoding="utf8") as f2:
f2.write(json_text)
print("~~~~~~~~~~~~~~~~~~~~修改成功~~~~~~~~~~~~~~~~~~~~~")
return
print("输入的学号不存在!!!!!!!!!!!!!") # 系统启动入口方法
def system_start(self):
while True:
print("########### 欢迎来到学生管理系统 ############")
print("################ 请登录系统 ################")
user_name = input("请输入用户名: ")
pass_word = input(" 请输入密码: ")
if user_name == "zyh" and pass_word == "123456":
print("################ 登陆成功!################")
break
else:
print("登录信息错误,请重新登录!") while True:
print("################ 你已经进入学生管理系统 ################")
print("###################### 请选择功能 ######################")
print("1. 展示所有学生信息")
print("2. 添加学生")
print("3. 删除学生")
print("4. 修改学生")
print("5. 退出系统")
print("#######################################################") while True:
choice = int(input("请输入功能对应的序号(1/2/3/4/5/6): "))
if choice == 1:
# print("调用展示所有学生信息的方法")
self.show_all_student() break
elif choice == 2:
# print("调用添加学生的方法")
self.add_student() break
elif choice == 3:
# print("调用删除学生的方法")
self.delete_student() break
elif choice == 4:
# print("调用修改学生的方法")
self.update_student() break
elif choice == 5:
print("退出学生管理系统!!!!!!!!!!!")
return
else:
print("输入信息不合法,请重新输入!")
3、 程序入口文件 main.py
import manager if __name__ == '__main__': manager_sys = manager.Manager()
manager_sys.system_start()
4、 学生信息文件 students_info.json
[
{"学号": "0001", "姓名": "张三", "地址": "北京", "电话": "13244453359"},
{"学号": "0002", "姓名": "张三2", "地址": "北京", "电话": "13244453359"},
{"学号": "0003", "姓名": "张三3", "地址": "北京", "电话": "13244453359"},
{"学号": "0004", "姓名": "张三4", "地址": "北京", "电话": "13244453359"}
]
Python简易学生管理系统的更多相关文章
- 用python实现简易学生管理系统
以前用C++和Java写过学生管理系统,也想用Python试试,果然“人生苦短,我用Python”.用Python写的更加简洁,实现雏形也就不到100行代码. 下面上代码 #!/usr/bin/pyt ...
- JavaSE09-(练手)简易学生管理系统
1.学生管理系统实现步骤 案例需求 系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要修改学生 ...
- 基于python的学生管理系统(含数据库版本)
这次支持连接到后台的数据库,直接和数据库进行交互,实现基本的增删查改 #!/usr/bin/python3 # coding=utf-8 """ ************ ...
- Django_学生管理系统
一. Django简易学生管理系统 1.在pycharm中创建工程student_manage_system,添加app:student_manage 2.配置静态文件:在工程项目目录下新建目录sta ...
- python简易版学生管理系统
#coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...
- Django 小实例S1 简易学生选课管理系统 9 创建课程模型(model)
Django 小实例S1 简易学生选课管理系统 第9节--创建课程模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 对于课程模块, ...
- Django 小实例S1 简易学生选课管理系统 2 新建项目(project)并进行设置
Django 小实例S1 简易学生选课管理系统 第2节--新建项目(project)并进行设置 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 0 ...
- Django 小实例S1 简易学生选课管理系统 3 创建用户模型(model)
Django 小实例S1 简易学生选课管理系统 第3节--创建用户模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新 ...
- Django 小实例S1 简易学生选课管理系统 0 初步介绍与演示
Django 小实例S1 简易学生选课管理系统 第0章--初步介绍与演示 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 初步介绍 先介绍下这个 ...
- 学生管理系统(SSM简易版)总结
之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...
随机推荐
- android studio 隐式Internet跳转
直接setAction方法 Intent intent = new Intent(); intent.setAction("com.hly.view.fling"); startA ...
- 关于PLC的脉冲输出(S7-300)
1. 关于脉冲输出 脉冲输出的方法有很多: 如果要产生占空比为50%的脉冲信号: ① 用S7-300PLC的时钟存储器 右键点击PLC,选中时钟存储器,默认存储字节为0. 各时钟存储器的周 ...
- 安卓手机qpython使用感觉
我是写C#的,最佳一时兴起,下载了个qpython来玩儿,发现这东西写点简单的爬虫还行,配合sqlite,可以做一些简单的事情,于是乎想写一个有趣的东西,在qpython写一个脚本,去收蚂蚁森林的能量 ...
- Docker 修改容器中的mysql密码
1.查看容器服务 docker ps2.进入mysql容器 docker exec -it mysql /bin/bash 注:mysql为容器的名字 3.登录MySQL mysql -u root ...
- python全局变量和局部变量的关系
今天看了一个全局变量,有点懵不知道全局变量是什么.然后就开始查找相关的资料 总结就一句话:你到哪里都是大爷,就是这么吊 有全局变量那么也有局部变量,同时也用一句话概括:外面怂成孙子,家里横成老子 接下 ...
- 12-XXE漏洞
1.概述 <!--第一部分:XML声明--> <?xml version="1.0"?> <!--第二部分:文档类型定义DTD--> <! ...
- linux 数据卷磁盘管理
新加磁盘如何创建逻辑分区 查看命令 lvs vgs pvs 1: 新建一个分区(partition)fdisk /dev/sdb 2:创建PV(物理卷)pvcreate /dev/sdb1pvs或 ...
- Class 'dmstr\web\AdminLteAsset' not found
Yii2出现 Class 'dmstr\web\AdminLteAsset' not found 报错 1.检查下是不是vendor从其他地方复制过来的 2.检查根目录composer.json 中 ...
- sql server 索引检测
-- 声明表变量 DECLARE @userTable TABLE (table_name NVARCHAR(20)); -- 将源表中的数据插入到表变量中 INSERT INTO @userTabl ...
- swagger 增强UI --knife4j
knife4j 文档: https://gitee.com/xiaoym/knife4j (1)简介 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是sw ...