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 相关文章推荐
python3实现ftp服务功能(客户端)
Mar 24 Python
python生成式的send()方法(详解)
May 08 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 Python
python中的&&及||的实现示例
Aug 07 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
基于Python获取城市近7天天气预报
Nov 26 Python
基于python 等频分箱qcut问题的解决
Mar 03 Python
Python如何合并多个字典或映射
Jul 24 Python
python代码实现图书管理系统
Nov 30 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 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_SELF的安全问题
2009/09/05 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP创建XML接口示例
2019/07/04 PHP
php使用json-schema模块实现json校验示例
2019/09/28 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
用Node.js通过sitemap.xml批量抓取美女图片
2015/05/28 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python去除字符串中的换行符
2017/10/11 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
利用python修改json文件的value方法
2018/12/31 Python
Python基础之文件读取的讲解
2019/02/16 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
一套Delphi的笔试题二
2013/05/11 面试题
软件售后服务承诺书
2014/05/21 职场文书
小学优秀班主任材料
2014/12/17 职场文书
教师工作表现评语
2014/12/31 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
springboot实现string转json json里面带数组
2022/06/16 Java/Android