1、纯python编写学生信息管理系统
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编写学生信息管理系统的更多相关文章
- python 04 学生信息管理系统
今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...
- python之学生信息管理系统
1 #!usr/bin/python 2 #encoding=utf-8 3 4 #1. 打印学生管理系统界面 5 def printStd(): 6 print ("*"*50) ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
- Python学生信息管理系统的开发
# 第一题:设计一个全局变量,来保存很多个学生信息:学生(学号, 姓名,年龄):思考要用怎样的结构来保存:# 第二题:在第一题基础上,完成:让用户输入一个新的学生信息(学号,姓名,年龄):你将其保存在 ...
- 【python免费代码】设计一个简单的学生信息管理系统
文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...
- python3 简陋的学生信息管理系统
# 编写一个“学生信息管理系统”# 输入序号:1. 输入学生信息,学生信息包括:id,name,age,gender(用什么数据类型保存?)# 2. 查询:输入学生姓名和id,显示学生个人信息# 3. ...
- 基于数组或链表的学生信息管理系统(小学期C语言程序实训)
1.基于数组的学生信息管理系统 实验内容: 编写并调试程序,实现学校各专业班级学生信息的管理.定义学生信息的结构体类型,包括:学号.姓名.专业.班级.3门成绩. 实验要求: (1) main函数:以菜 ...
- 基于数据库MySQL的简易学生信息管理系统
通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...
- Java 实现学生信息管理系统
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
随机推荐
- PHP Warning: Module 'json' already loaded in Unknown on line 0
Zend加密文件.启动服务器后无法正常运行加密后的文件.处理方法: 某台服务器上跑着php 5.3.8,线上服务运行正常. 某天拆分php错误日志时,发现其中有一段连续的错误信息. [14-Feb ...
- js cookie跨域
特别说明: 默认情况下,当前域下的cookie只能被当前域下的页面访问. 通过JavaScript设置cookie的doamin属性为一个恰当值即可实现跨域效果. 1.只有根域名相同的不同源的cook ...
- Redis:WRONGTYPE Operation against a key holding the wrong kind of value
相关连接:通过Canal保证某网站的Redis与MySql的数据自动同步 1.错误信息 redis.clients.jedis.exceptions.JedisDataException: WRONG ...
- call undefined function openssl_cipher_iv_length
现象: 访问localhost/blog/public时,报错在verdor/framework/src/Illuminate/Encryption/Encrtpter.php的84行,找不到open ...
- zeppelin开启多个
conf/zeppelin-env.sh 添加行: export ZEPPELIN_PID_DIR=/xx/zeppelin/run_2
- H3C FTP被动数据传输方式
- vue-router再学习
vue路由: 1:动态路由配置 import Vue from 'vue' import Router from 'vue-router' import Index from '@/view/inde ...
- Flutter 添加阴影效果
Container( width: double.infinity, height: ScreenUtil.getInstance().setHeight(500), decoration: BoxD ...
- Qt和c/c++connect函数冲突解决方法
在使用c/c++的connect函数时在前面写::connect()这样就可以解决了
- 【Linux】一个定时任务小脚本
需要一个定时任务,每隔固定时间停止,等待几分钟,然后在启动,每5分钟一个循环. 简要写了一下,如下,未来在优化: 3,8,13,18,23,28,33,38,43,48,53,58 * * * * s ...