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使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
python中的多重继承实例讲解
Sep 28 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
pyqt 实现为长内容添加滑轮 scrollArea
Jun 19 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
python 解决tqdm模块不能单行显示的问题
Feb 19 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
pycharm安装及如何导入numpy
Apr 03 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 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 fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
php防止sql注入代码实例
2013/12/18 PHP
php获取textarea的值并处理回车换行的方法
2014/10/20 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
JS的replace方法介绍
2012/10/20 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
Python中的True,False条件判断实例分析
2015/01/12 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
招商经理岗位职责
2013/11/16 职场文书
置业顾问岗位职责
2014/03/02 职场文书
服装发布会策划方案
2014/05/22 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
优秀求职信
2014/05/29 职场文书
颐和园导游词400字
2015/01/30 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
vue的项目如何打包上线
2022/04/13 Vue.js