目录结构:

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简易学生管理系统的更多相关文章

  1. 用python实现简易学生管理系统

    以前用C++和Java写过学生管理系统,也想用Python试试,果然“人生苦短,我用Python”.用Python写的更加简洁,实现雏形也就不到100行代码. 下面上代码 #!/usr/bin/pyt ...

  2. JavaSE09-(练手)简易学生管理系统

    1.学生管理系统实现步骤 案例需求 系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要修改学生 ...

  3. 基于python的学生管理系统(含数据库版本)

    这次支持连接到后台的数据库,直接和数据库进行交互,实现基本的增删查改 #!/usr/bin/python3 # coding=utf-8 """ ************ ...

  4. Django_学生管理系统

    一. Django简易学生管理系统 1.在pycharm中创建工程student_manage_system,添加app:student_manage 2.配置静态文件:在工程项目目录下新建目录sta ...

  5. python简易版学生管理系统

    #coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...

  6. Django 小实例S1 简易学生选课管理系统 9 创建课程模型(model)

    Django 小实例S1 简易学生选课管理系统 第9节--创建课程模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 对于课程模块, ...

  7. Django 小实例S1 简易学生选课管理系统 2 新建项目(project)并进行设置

    Django 小实例S1 简易学生选课管理系统 第2节--新建项目(project)并进行设置 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 0 ...

  8. Django 小实例S1 简易学生选课管理系统 3 创建用户模型(model)

    Django 小实例S1 简易学生选课管理系统 第3节--创建用户模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新 ...

  9. Django 小实例S1 简易学生选课管理系统 0 初步介绍与演示

    Django 小实例S1 简易学生选课管理系统 第0章--初步介绍与演示 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 初步介绍 先介绍下这个 ...

  10. 学生管理系统(SSM简易版)总结

    之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...

随机推荐

  1. 面向对象1(Java)

    什么是面向对象 面向对象编程(oop) 面向对象编程的本质是:以类的方式组织代码,以对象的组织(封装)数据 抽象 三大特征:封装.继承.多态 从认识论角度考虑是先有对象后有类.对象是具体的事物.类是抽 ...

  2. function | ECOS

    用于优化线性或二阶锥的自对偶齐次嵌入内点方法. 不支持 SDP 锥体! [x,y,info,s,z] = ecos(c,G,h,dims,A,b) 求解一对原始和双锥程序 最小化 c'x 服从 Gx ...

  3. JS笔记(四):面向对象、异常处理

    镇楼图 Pixiv:torino 六.JS中的面向对象 类(class) 博主视为你已拥有相关基础,这里不再赘述相关概念 类的语法如下,class在本质上是function,可以说class只是针对构 ...

  4. 微信小程序 css overflow :hidden 子元素不生效

    原css  .item .right {     width: 70%; }    .item .right .name {     font-size: 32rpx;     font-family ...

  5. Java 实现汉字按照首字母分组排序

    一.实现思路: 1.将数据list 进行排序Collections,排序后是按照汉字字母排序的 2.循环找出26个字母,以字母为key,以list中相同首字母的数据为值(集合) 二.代码实现: // ...

  6. 石子合并问题DP

    START: 2021-08-10 14:29:04 1.问题描述: 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价 ...

  7. python for houdini——python在houdini中的基础应用02

    内容来源于网上视频 一.houdini python编译器 1.python shell 2.python source editor----代码可以随场景保存 构造的函数可以在外部通过hou.ses ...

  8. scrcpy

    捕获配置 缩小尺寸 有时,以较低的清晰度镜像 Android 设备以提高性能很有用. 将宽度和高度限制为某个值(例如 1024): scrcpy --max-size 1024 scrcpy -m 1 ...

  9. typora基础语法

    Markdown学习 标题 三级标题 #加空格加你要的文字 字体 加粗 hello world!(前后两个**) hello world!(前后一个**) hello world!(前后三个***) ...

  10. 【内存管理】ION内存管理器(carveout heap预留内存)

    什么是carveout heap carveout heap从代码中给的解释来看,是reserved预留的物理内存来实现的,这些内存buddy系统是没办法看到和管理到的 carveout heap中的 ...