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 time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
Python实现从百度API获取天气的方法
Mar 11 Python
python实现提取百度搜索结果的方法
May 19 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Python pymongo模块常用操作分析
Sep 01 Python
python for 循环获取index索引的方法
Feb 01 Python
django 信号调度机制详解
Jul 19 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
Python可视化学习之seaborn调色盘
Feb 24 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
javascript 动态添加表格行
2006/06/22 Javascript
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
用原生js做单页应用
2017/01/17 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
用python代码做configure文件
2014/07/20 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
比利时家具购买网站:Home24
2019/01/03 全球购物
出售房屋委托书范本
2014/09/24 职场文书
特岗教师个人总结
2015/02/10 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
主持稿开场白
2015/06/01 职场文书
会议主持词通用版
2019/04/02 职场文书
Java 关于String字符串原理上的问题
2022/04/07 Java/Android