1.效果图

2.python code:

class studentSys(object):
'''
_init_(self) 被称为类的构造函数或初始化方法,
self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
'''
def _init_(self):
#全局变量
self.students = []#列表[{"name":"刘备", "age":20, "sex":"男"},{"name":"关羽", "age":20, "sex":"男"}]
"打印输入提示信息"
def print_menu(self):
#输出50个连续的等于号(50个=)
print("="*50)
# \t : 横向制表符
print("="*50 + \
"\n\t\t学生管理系统1.00版本" + \
"\n\t\t1:添加学生信息" + \
"\n\t\t2:删除学生信息" + \
"\n\t\t3:修改学生信息" + \
"\n\t\t4:查找学生信息" + \
"\n\t\t5:显示学生信息" + \
"\n\t\t6:退出学生管理系统\n" + \
"="*50 )
#打印一行空白
print("\n") #添加学生信息的函数
def add_info(self):
#修改全局变量
#global students
#字典
student = {}
name = input("请输入要添加学生的姓名:")
age = input("请输入要添加学生的年龄:")
sex = input("请输入要添加学生的性别:")
phone = input("请输入要添加学生的电话:")
QQ = input("请输入要添加学生的QQ:")
#往字典里添加输入的数据
student["name"] = name
student["age"] = age
student["sex"] = sex
student["phone"] = phone
student["QQ"] = QQ
#把字典添加到列表(末尾)中去
self.students.append(student)
self.save_info() #删除学生信息函数
def delete_info(self):
name = input("请输入要删除的学生姓名:")
for student in self.students:
if name == student.get("name"):
self.students.remove(student)
self.save_info()
self.show_info() #修改学生信息函数
def modify_info(self):
name = input("请输入要修改学生的姓名:")
for student in self.students:
if name == student.get("name"):
info = input("请输入要修改的信息标题:")
if info == "name":
new_name = input("请输入新的姓名:")
student["name"] = new_name
elif info == "age":
new_age = input("请输入新的年龄:")
student["age"] = new_age
elif info == "sex":
new_sex = input("请输入新的性别:")
student["sex"] = new_sex
elif info == "phone":
new_phone = input("请输入新的电话:")
student["phone"] = new_phone
elif info == "QQ":
new_QQ = input("请输入新的QQ:")
student["QQ"] = new_QQ
else:
print("请输入含有的信息标题")
self.save_info()
self.show_info() #查找学生信息函数
def find_info(self):
name = input("请输入要查找的学生姓名:")
flag = 0 #找到一个就是找到了
for student in self.students:
if name == student.get("name"):
print(student)
print("\t" + student["name"] +\
"\t\t" + student["age"] +\
"\t\t" + student["sex"] +\
"\t\t" + student["phone"] +\
"\t\t" + student["QQ"])
flag = 1
#循环结束后判断
if flag == 0:
print("无此人信息") #显示学生信息函数
def show_info(self):
print("\t\t\t\t当前学生信息\n" + \
"-"*80 + "\n\t姓名\t\t年龄\t\t性别\t\t电话\t\tQQ")
for student in self.students:
print("\t" + student["name"] +\
"\t\t" + student["age"] +\
"\t\t" + student["sex"] +\
"\t\t" + student["phone"] +\
"\t\t" + student["QQ"]) print("-"*80,"\n") #保存信息
def save_info(self):
f = open("students.txt","w")#每次保存都会覆盖,覆盖保存w
f.write(str(self.students))#保存
f.close()#关闭资源 #读取运行时的信息
def load_info(self):
f = open("students.txt","a+")
f.seek(0)
content = f.read()
if len(content) > 0:
self.students = eval(content)
f.close()#关闭资源 #定义一个入口函数
def main(self):
self.print_menu()
self.load_info()
while True:
print("\t\t操作指令\n" + \
"~"*50 + \
"\n 1:添加|2:删除|3:修改|4:查找|5:显示|6:退出 \n" + \
"~"*50 )
#输入的内容都当做字符串
input_num = input("请按照提示输入相应的指令:") #判断用户输入的内容
if input_num == "":
#print("增加\n")
self.add_info()
elif input_num == "":
#print("删除\n")
self.delete_info()
elif input_num == "":
#print("修改\n")
self.modify_info()
elif input_num == "":
#print("查找\n")
self.find_info()
elif input_num == "":
#print("显示\n")
self.show_info()
elif input_num == "":
print("退出\n")
break
else:
print ("请不要瞎玩,这里需要输入对应的数字!\n") #创建实例对象,调用方法
studentSys().main()

1、纯python编写学生信息管理系统的更多相关文章

  1. python 04 学生信息管理系统

    今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...

  2. python之学生信息管理系统

    1 #!usr/bin/python 2 #encoding=utf-8 3 4 #1. 打印学生管理系统界面 5 def printStd(): 6 print ("*"*50) ...

  3. Python基础案例练习:制作学生信息管理系统

    一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...

  4. Python学生信息管理系统的开发

    # 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...

  5. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

  6. python3 简陋的学生信息管理系统

    # 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...

  7. 基于数组或链表的学生信息管理系统(小学期C语言程序实训)

    1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...

  8. 基于数据库MySQL的简易学生信息管理系统

    通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...

  9. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

随机推荐

  1. HDU 1071

    题意:就是求给你一个抛物线的三个点,第一个给定的点是抛物线的顶点,让你求直线p2p3与抛物线的定积分 思路:因为题目条件给了顶点,所以直接用抛物线的顶点式去求. 本弱弱数学太差.还得复习一下公式 #i ...

  2. POI 导入、导出Excel

    POI,全称Apache POI,是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.项目地址:Apache POI - t ...

  3. Roslyn NameSyntax 的 ToString 和 ToFullString 的区别

    本文告诉大家经常使用的 NameSyntax 拿到值的 ToString 和 ToFullString 方法的区别 从代码可以看到 NameSyntax 的 ToString 和 ToFullStri ...

  4. Codeforces Round #564(div2)

    Codeforces Round #564(div2) 本来以为是送分场,结果成了送命场. 菜是原罪 A SB题,上来读不懂题就交WA了一发,代码就不粘了 B 简单构造 很明显,\(n*n\)的矩阵可 ...

  5. Linux 内核PCI去除一个驱动

    去除一个驱动是一个非常容易的动作. 对于一个 PCI 驱动, 驱动调用 pci_unregister_driver 函数. 这个函数只调用驱动核心函数 driver_unregister, 使用 一个 ...

  6. Javascript 防扒站,防止镜像网站

    自己没日没夜敲出来的站,稍微漂亮一点,被人看上了就难逃一扒,扒站是难免的,但不能让他轻轻松松就扒了: 前些天有个朋友做的官网被某不法网站镜像,严重影响到 SEO,当时的解决方法是通过屏蔽目标 IP 来 ...

  7. layui框架实现多图片手动上传和随表单提交方法

    首先在官方文档并没有手动上传的说明文档,这里手动实现上传原理是:在表单中有三个按钮,分别是上传图片按钮.隐藏上传按钮.表单提交按钮,点击上传图片按钮之后,图片添加在前端但是并没有真正的上传,而是在点击 ...

  8. docker 命令汇总1

    命令汇总 docker history fa5fa5为镜像id或者镜像名 docker export 30b >h.tar30b为容器id或者容器名# docker export angry_b ...

  9. 根据经纬度查询附近几公里的门店(<5)代表5公里

    select * from 表名 where status=1 and isopen =0 and jingyingtype=1 and waimai=1 and bstatus = 1 and (a ...

  10. JMeter录制登录测试

    本节试图解释使用任何公开可用的网站记录登录测试的确切步骤,该网站提供具有登录凭据的可靠登录页面. 出于测试目的,我们将使用OrangeHRM在URL- http://opensource.demo.o ...