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. CSS中常用的简写模式

    一.font属性简写 font-style:字体样式 normal 默认值.浏览器显示一个标准的字体样式. italic 浏览器会显示一个斜体的字体样式. oblique 浏览器会显示一个倾斜的字体样 ...

  2. java方法特点

    它可以实现独立的功能; 必须定义在类里面; 它只有被调用才会执行; 它可以被重复使用; 方法结束后方法里的对象失去引用; 如何定义一个功能,并通过方法体现出来: ① 明确该功能运算后的结果.明确返回值 ...

  3. P1080 探测器

    题目描述 一个 n*n 的网格图上有 m 个探测器,每个探测器有个探测半径r,问这 n*n 个点中有多少个点能被探测到. 网格图上的点的坐标从(1,1)到(n,n). 输入格式 第一行3个整数n,m, ...

  4. PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理

    相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析    PHPmysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理 介绍 PDO是一种PHP程序连接数据库的接口 ...

  5. 用nodejs创建服务器显示html页面

    nodejs版本:v10.14.2 1.首先准备一个简单的html页面 <!DOCTYPE html> <html lang="en"> <head& ...

  6. H3CSTP、RSTP的问题

  7. JS(JavaScript)的深入了解1(更新中···)

    面向对象 1.单列模式 2.工厂模式 3.构造函数 (1) 类Js天生自带的类Object 基类Function Array Number Math Boolean Date Regexp Strin ...

  8. 节点列表和HTML集合

    getElementsByName()和getElementByTagName()返回的都是NodeList集合. 而document.images和document0.forms的属性为HTMLCo ...

  9. vue-learning:16 - js - computed

    computed 在指令章节讲过,插值{{ }}和指令都接受变量和表达式的写法,使用表达式可以进行简单的二元或三元运算.但如果要执行更加复杂的计算或频繁重复的计算,如果还是直接写在指令的表达式中会让代 ...

  10. String、StringBuffer和StringBuild区别

    String String是不可变对象,即对象一旦生成,就不能被更改.对String对象的改变会引发新的String对象的生成. String s = "abcd"; s = s+ ...