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中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
随机推荐
- Python--day62--编辑出版社功能
1,Django项目主要用到的文件
- vue样式加scoped后不能覆盖组件的原有样式解决方法
<style scoped> </style> 为了vue页面样式模块化,不对全局造成污染,建议每个页面的style标签加上scoped,表示他的样式只属于当前的页面,父组件的 ...
- 【codeforces 761A】Dasha and Stairs
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- caffe学习(1):多平台下安装配置caffe
如何在 centos 7.3 上安装 caffe 深度学习工具 有好多朋友在安装 caffe 时遇到不少问题.(看文章的朋友希望关心一下我的创业项目趣智思成) 今天测试并整理一下安装过程.我是在阿 ...
- 2018-8-10-dot-net-core-使用-IPC-进程通信
title author date CreateTime categories dot net core 使用 IPC 进程通信 lindexi 2018-08-10 19:16:52 +0800 2 ...
- 基于小米即时消息云服务(MIMC)的Web IM
michat 一个基于小米即时消息云服务(MIMC)的Web IM. 源码地址github和gitee同步. 截图展示 如何使用 请先双击目录"需要安装的jars"的install ...
- HashMap之红黑树
红黑树的设计,相比 jdk1.7 的 HashMap 而言,jdk1.8 最重要的就是引入了红黑树的设计,当冲突的链表长度超过 8 个的时候,链表结构就会转为红黑树结构. 01.故事的起因 “ JDK ...
- vue-learning:7-template-v-bind-with-class-and-style
绑定元素样式的指令v-bind:class 和v-bind:style 在HTML元素结构中,class和style特性(attribute)是非常突出的,可以为元素添加样式属性(property). ...
- Trendalyzer is an information visualization software
Trendalyzer is an information visualization software for animation of statistics that was initially ...
- 【Git】git-filter-branch - Rewrite branches
1.命令使用场景 ①Removing sensitive data from a repository(https://help.github.com/en/github/authenticating ...