最近在学习python写了一个学生管理系统,参考使用python创建学生管理系统_宇同学的博客-CSDN博客_python学生管理系统(感谢大牛的分享),不过小编对部分代码可读性进行了调整并新增了部分逻辑如姓名重复、手机号格式简单处理、查询、显示、新增、修改、删除之后的回调学生信息以及删除和修改学生信息的友好提示,以及不删除不修改进行回调。下面贴出我自己的源码,供大家学习交流。本人对python小白一个。望大家指正

#!/usr/bin/python3
# coding=utf-8"""使用python创建学生管理系统"""
""" 1.Python函数式编程实现思路 """
""" 使用字典把学生的姓名、qq、微信进行封装 """
""" 使用列表(list)装学生的信息 """
""" 实现对列表中字典数据进行增、删、改、查 """
import randomclass StudentsSys(object):def __init__(self):self.names = []self.info = "1:新增|2:删除|3:修改|4:查找|5:显示|6:退出系统"def print_menu(self):"""学生管理系统菜单"""print("="*50)print("\t学生管理系统菜单")print("\t1:添加学生信息")print("\t2:删除学生信息")print("\t3:修改学生信息")print("\t4:查找学生信息")print("\t5:显示学生信息")print("\t6:退出学生管理系统")print("=" * 50)def caozuo_zhiling(self):print("\n")print("~"*50)print(self.info)print("~"*50)def addInfo(self):self.students = {}self.students['name'] = input("请输入学生姓名:")for name in self.names:if self.students["name"] == name["name"]:print("姓名重复,请重新输入!")self.start()self.students['phone'] = input("请输入学生的手机号:")if len(self.students['phone']) != 11:print("请输入正确格式的手机号!")returnself.students['email'] = input("请输入学生的邮箱:")self.names.append(self.students)#print(self.names)self.saveInfo()self.showInfo()def delInfo(self):def_name = input("请输入您要删除的学生姓名:")print("您确定要删除该学生信息吗?删除属于不可逆操作,请您仔细考虑!")msg = input("确认删除,请按'y',返回请按'n'")if msg == "y":for name in self.names:if def_name == name.get("name"):self.names.remove(name)self.saveInfo()self.showInfo()else:self.showInfo()def modifyInfo(self):modify_name = input("请输入您要修改的学生姓名:")flag = 0msg = input("确认修改,请按'y',返回请按'n'")if msg == "y":for name in self.names:if modify_name == name["name"]:new_name = input("请输入新的名字:")name["name"] = new_nameflag = 1self.showInfo()if flag == 0:print("该名学生%s不存在" % modify_name)self.showInfo()else:self.showInfo()def findInfo(self):find_name = input("请输入你要查找的姓名:")flag = 0for name in self.names:for value in name.values():if find_name == value:flag = 1print("找到了:{}".format(find_name))breakif flag == 0:print("没有找到:{}".format(find_name))def loadInfo(self):file = open("students.txt","a+")file.seek(0,0)content = file.read()if len(content) > 0:self.names = eval(content)def saveInfo(self):file = open("students.txt","w")file.write(str(self.names))file.close()def showInfo(self):print("\n")print("\t当前学生系统信息")print("~"*50)print("\t姓名\t\t手机号\t\t邮箱")for name in self.names:msg = "\t"+name.get("name")+"\t\t"+name.get("phone")+"\t"+name.get("email")print(msg)print("~"*50)def numberIsdigit(self):number = input("请输入指令:")if number.isdigit():number = int(number)if number == 1:self.addInfo()elif number == 2:self.delInfo()elif number == 3:self.modifyInfo()elif number == 4:self.findInfo()elif number == 5:self.showInfo()elif number == 6:msg = input("您确定要退出学生管理系统吗?,如果您确定退出请输入'y',继续使用请输入'n':")if msg == "y":print("成功退出学生管理系统,欢迎您的下次使用!")if msg == "n":self.start()else:print("请输入正确的指令,指令为1-6的纯数字!")def start(self):self.print_menu()self.loadInfo()self.caozuo_zhiling()self.numberIsdigit()s = StudentsSys()
s.start()

效果图:

使用python写的一个小系统相关推荐

  1. 我给舅舅用Python写了一个订餐系统微信小程序!生意简直火爆!

    微信登录功能的实现 通过小程序的前端 配合python-flask的后端,实现登录接口的功能 在我们正式写代码之前 读一下微信小程序的官方文档. https://developers.weixin.q ...

  2. 我用Python写了一个小游戏

    在这个小游戏项目中,我们一起来完成一个文字版的人机对战小游戏吧,并且一步一步增加游戏的功能,让它变得更真实.更有意思吧~ 第一个版本1.0: import time import randomplay ...

  3. python卖水果_小姨开水果店的,所以今天用Python写了一个水果店小系统!

    原标题:小姨开水果店的,所以今天用Python写了一个水果店小系统! 前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈 我这个小姨也是一起长大的,她 ...

  4. python股票全套系统_熬了一晚上,小白用Python写了一个股票提醒系统

    码农小马七夕节去相亲了,见了一个不错的姑娘,长的很是甜美!聊着聊着很投缘!通过介绍人了解到,对方也很满意--想着自己单身多年的生活就要结束啦,心里满是欢喜,美美哒!可是突然想起年初还有几万块在股市里面 ...

  5. 用Python写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  6. 耗时半年,用 Python 写了一个电子考勤系统

    今天给大家分享一个比较有意思的 Python 应用,用 Python 写了一个电子考勤系统,源码获取在下方文章中给出,记得点赞收藏哦- 文章目录 电子考勤完整代码 项目简介 答题要求 附加功能 导入模 ...

  7. 用 Python 写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  8. python写的一个-批量下载股票年报的小工具

    python写的一个-批量下载股票年报的小工具 from urllib import request import requests import os import openpyxl# print( ...

  9. c 语言500行小游戏代码,500行代码使用python写个微信小游戏飞机大战游戏.pdf

    500行行代代码码使使用用python写写个个微微信信小小游游戏戏飞飞机机大大战战游游戏戏 这篇文章主要介绍了500行代码使用python写个微信小游戏飞机大战游戏,本文通过实例代码给大家介绍的非常详 ...

最新文章

  1. top在html5里什么意思,html中的scrolltop是什么意思
  2. Nxt节点安装指南之RaspberryPi树莓派版
  3. selenium分布式部署
  4. 黑苹果不能imessage_如何修复iMessage在iOS 10中不显示消息效果
  5. 27、jdbc操作数据库(4)
  6. OpenCV学习(7.16)
  7. 记录今天写的几个正则,数字范围的校验
  8. OpenShift 4 之Istio-Tutorial (4) 流量控制和灰度发布
  9. .Net Attribute特性
  10. linux HBA 卡驱动安装
  11. 17.卷1(套接字联网API)--- ioctl 操作
  12. 张孝祥JavaScript视频教程flash版
  13. 立即从iOS 10和macOS Sierra下载壁纸
  14. 国家软考--高级系统分析师证书
  15. NOPI导出到excel
  16. win8 32位系统上如何运行校园翼讯客户端
  17. 新路由3 newifi3 官方固件与离线插件合集
  18. 2021年G2电站锅炉司炉考试题库及G2电站锅炉司炉考试报名
  19. Panel的基本用法
  20. 盘点!电价市场化改革后,数据中心电费涨了多少?

热门文章

  1. java 生成趋势图_JFreeChart折线图的生成方法
  2. matlab 删除图片中大于一定面积的像素
  3. nyoj 708 ones
  4. 【ACWing】708. 偶数
  5. 跨境卖家如何利用Instagram做好妇女节营销?
  6. Feign调用出现错误,应用无法启动:to {POST /cart/add}: There is already ‘cartController‘ bean method
  7. “最强大脑”智慧检务如何落地?Smartbi有一套最佳案例实践,还不快来学习!
  8. 电脑开机失败提示用户配置文件服务登录失败的三种解决办法
  9. C语言 strlen与sizeof的区别
  10. 老师傅珍藏已久的4个APP,让你大开眼界,值得收藏