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获取电脑硬件信息及状态的实现方法
Aug 29 Python
Python中列表和元组的相关语句和方法讲解
Aug 20 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
Python发送http请求解析返回json的实例
Mar 26 Python
python使用matplotlib画饼状图
Sep 25 Python
python实现求特征选择的信息增益
Dec 18 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
基于python实现数组格式参数加密计算
Apr 21 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
python实现简单文件读写函数
Feb 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 无限级分类 获取顶级分类ID
2016/03/13 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
Javascript 布尔型分析
2008/12/22 Javascript
xml转json的js代码
2012/08/28 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
python简单实现获取当前时间
2016/08/27 Python
不可错过的十本Python好书
2017/07/06 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
银行毕业实习自我鉴定
2013/09/19 职场文书
物业电工岗位职责
2013/11/20 职场文书
初婚未育未抱养证明
2014/01/12 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
组织生活会发言材料
2014/12/15 职场文书
污染环境建议书
2015/09/14 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang