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 相关文章推荐
pyenv命令管理多个Python版本
Mar 26 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
使用python 3实现发送邮件功能
Jun 15 Python
Python实现简单层次聚类算法以及可视化
Mar 18 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
flask框架中的cookie和session使用
Jan 31 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
用header 发送cookie的php代码
2007/03/16 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
php密码生成类实例
2014/09/24 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
在python3中实现更新界面
2020/02/21 Python
PHP如何删除一个Cookie值
2012/11/15 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
市场营销计划书
2019/04/24 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python