python创建学生管理系统


Posted in Python onNovember 22, 2019

使用python创建学生管理系统,供大家参考,具体内容如下

创建学生管理系统,可谓是学习编程最基础的一小步。

主要是分为以下几个思路:

python创建学生管理系统

接下来直接上源码

#!/usr/bin/python3
# coding=utf-8
# 导入包
import random
# 全局变量
# 函数
# 类
# 调用函数或者类
# 装所以数据的列表
class StudentSys(object):
 def __init__(self):
  # 实例属性
  self.names = []
  self.infos = "1:增加|2:删除|3:修改|4:查找|5:显示|6:退出系统"

 # 打印提示信息(菜单)
 def print_menu(self):
  "打印提示菜单信息"
  print("=" * 25)
  print("\t~学生管理系统版本~")
  print("\t1:添加学生信息")
  print("\t2:删除学生信息")
  print("\t3:修改学生信息")
  print("\t4:查找学生信息")
  print("\t5:显示学生信息")
  print("\t6:退出学生信息系统")
  print("=" * 25)

 def add_info(self):
  "添加信息"
  self.student = {}
  name = input("请添加新同学的姓名:")
  phone = input("请添加新同学的手机号:")
  wechat = input("请输入新同学的微信号:")
  self.student["name"] = name
  self.student["phone"] = phone
  self.student["wechat"] = wechat

  # 把学生信息(字典里面)添加到列表
  self.names.append(self.student)
  self.show_info()
  self.save_info()

 def delete_info(self):
  '删除信息'
  # 根据下标删除和内容删除和末尾删除
  del_name = input("请输入删除的学生的姓名:")
  for name in self.names:
   # name:{"name":"曹操"....}
   if del_name == name.get("name"):
    self.names.remove(name)

  self.show_info()
  self.save_info()

 def modify_info(self):
  """修改信息"""
  # 根据下标修改index是列表的方法
  find_name = input("请输入您需要修改学生的姓名: ")
  flag = 0 # 0,没有找到,1找到了
  for name in self.names:

   if find_name == name["name"]:
    new_name = input("请输入新的名字: ")
    name["name"] = new_name
    flag = 1
    break

  if flag == 0:
   print("该名学生%s不存在" % find_name)

  else:
   self.show_info()
  self.save_info()

 def find_info(self):
  '''查找信息'''
  find_name = input("请输入你要查找的姓名:")
  flag = 0 # 0,没有找到,1找到了
  for name in self.names:
   for value in name.values():
    if find_name == value:
     flag = 1
     print("找到了:{}".format(find_name))
     break

  if flag == 0:
   print("没有找到:{}".format(find_name))

 def show_info(self):
  "表格方式显示所以信息"
  print("\n")
  print("当前学生信息")
  print("~" * 50)
  print("\t姓名\t\t\t电话\t\t\t微信\t")
  for name in self.names:
   msg = "\t" + name.get("name") + "\t\t" + name.get("phone") + "\t\t" + name.get("wechat") + "\t\t"
   print("~" * 50)
   print(msg)
  print("~" * 50)
  print("\n")

 # 程序的主要逻辑和程序入口
 def start(self):
  self.print_menu()
  # 加载文件中保存的信息,加载到内存中
  self.load_info()
  while True:
   print("\n\n")
   print("操作指令")
   print("~" * 50)
   print(self.infos)
   print("~" * 50)
   number = input("请按照上面的提示输入相应指令:")

   # 判断是否输入是纯的数字
   if number.isdigit():
    number = int(number)
    if number == 1:
     # 添加信息
     self.add_info()
    elif number == 2:
     # 删除信息
     self.delete_info()
    elif number == 3: # 修改
     # 修改信息
     self.modify_info()
    elif number == 4: # 查找
     # 查找信息
     self.find_info()
    elif number == 5:
     # 显示信息
     self.show_info()
    elif number == 6:
     break

   else:
    print("请输入正确的编号!")

 # 运行的时候,读取保存在文件的信息,并且赋值给names,第一次读文件,文件不存在,"r"会报错,"a+"
 def load_info(self):
  f = open("students.txt", "a+")
  f.seek(0, 0)
  content = f.read()
  # print("content==",content)
  if len(content) > 0:
   self.names = eval(content)

 # 每次删除或者修改或者增加都重新保存数据,覆盖保存w
 def save_info(self):
  f = open("students.txt", "w")
  f.write(str(self.names))
  f.close()


s = StudentSys()
s.start()

实现后的功能如下:

1、项目演示--启动

python创建学生管理系统

2、添加学生信息

python创建学生管理系统

3、添加多个学生信息后

python创建学生管理系统

4、删除数据

python创建学生管理系统

5、修改数据

python创建学生管理系统

6、查找数据

python创建学生管理系统

7、显示数据

python创建学生管理系统

8、退出系统

python创建学生管理系统

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python threading模块操作多线程介绍
Apr 08 Python
Python实现将xml导入至excel
Nov 20 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
python实现归并排序算法
Nov 22 Python
python 实现调用子文件下的模块方法
Dec 07 Python
python二进制读写及特殊码同步实现详解
Oct 11 Python
python matplotlib折线图样式实现过程
Nov 04 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
python实现ROA算子边缘检测算法
Apr 05 Python
利用Python实现模拟登录知乎
May 25 Python
Python如何计算语句执行时间
Nov 22 #Python
python生成器用法实例详解
Nov 22 #Python
关于pandas的离散化,面元划分详解
Nov 22 #Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 #Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 #Python
在OpenCV里使用Camshift算法的实现
Nov 22 #Python
利用Python的sympy包求解一元三次方程示例
Nov 22 #Python
You might like
php中用文本文件做数据库的实现方法
2008/03/27 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
header跳转和include包含问题详解
2012/09/08 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
增大python字体的方法步骤
2020/07/05 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
C/C++程序员常见面试题一
2012/12/08 面试题
XML文档面试题
2015/08/05 面试题
酒店执行总经理岗位职责
2013/12/15 职场文书
护士思想汇报
2014/01/12 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
新学期开学标语
2014/06/30 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
湘江北去观后感
2015/06/15 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js