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实现压缩与解压gzip大文件的方法
Sep 18 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
python正向最大匹配分词和逆向最大匹配分词的实例
Nov 14 Python
从0开始的Python学习016异常
Apr 08 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
python实现简单飞行棋
Feb 06 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
Python常用数字处理基本操作汇总
Sep 10 Python
python字符串的多行输出的实例详解
Jun 08 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实现定时器任务(Timer)
2015/07/31 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
利用jquery禁止外层滚动条的滚动
2017/01/05 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python单链表实现代码实例
2013/11/21 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
Django 重写用户模型的实现
2019/07/29 Python
给我一面国旗 python帮你实现
2019/09/30 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
python 实现批量图片识别并翻译
2020/11/02 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
python中常用的数据结构介绍
2021/01/12 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
三年大学生活自我鉴定
2014/01/21 职场文书
2015年元旦活动总结
2014/05/09 职场文书