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写asp详细讲解
Dec 16 Python
Golang与python线程详解及简单实例
Apr 27 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
python调用摄像头显示图像的实例
Aug 03 Python
python简单区块链模拟详解
Jul 03 Python
python关闭占用端口方式
Dec 17 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
Django权限设置及验证方式
May 13 Python
celery在python爬虫中定时操作实例讲解
Nov 27 Python
python飞机大战游戏实例讲解
Dec 04 Python
python实战之用emoji表情生成文字
May 08 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 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中的表达式简述
2016/05/29 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
更改Python命令行交互提示符的方法
2015/01/14 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
Python阶乘求和的代码详解
2020/02/14 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
大学教师年终总结的自我评价
2013/10/29 职场文书
生产车间标语
2014/06/11 职场文书
设计专业自荐信
2014/06/19 职场文书
大一新生期末自我评价
2014/09/12 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
教师节座谈会主持词
2015/07/03 职场文书