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 相关文章推荐
Django的session中对于用户验证的支持
Jul 23 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
python编程培训 python培训靠谱吗
Jan 17 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
Django 使用easy_thumbnails压缩上传的图片方法
Jul 26 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
Python 基于jwt实现认证机制流程解析
Jun 22 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 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/12/05 PHP
怎样去阅读一份php源代码
2009/08/21 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
Python解决鸡兔同笼问题的方法
2014/12/20 Python
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python3使用GUI统计代码量
2019/09/18 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
Python验证码截取识别代码实例
2020/05/16 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
Python绘制组合图的示例
2020/09/18 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
建龙钢铁面试总结
2014/04/15 面试题
一道Delphi面试题
2016/10/28 面试题
火锅店的活动方案
2014/08/15 职场文书
个人作风建设自查报告
2014/10/22 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书