侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python创建学生管理系统

Python  /  管理员 发布于 7年前   183

使用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、项目演示--启动

2、添加学生信息

3、添加多个学生信息后

4、删除数据

5、修改数据

6、查找数据

7、显示数据

8、退出系统

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    python自动分箱,计算woe,iv的实例代码
    下一条:
    Python如何计算语句执行时间
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客