python学生管理系统的实现


Posted in Python onApril 05, 2020

本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下

```name_list = [] # 存储学生信息字典,学生信息用字典存,再用列表存储字典
 
 
# 菜单
def display_menu():
 print("-"*30)
 print(" 学生管理系统 v8.8 ")
 print("1.添加学生信息")
 print("2.删除学生信息")
 print("3.修改学生信息")
 print("4.查询单个学生信息")
 print("5.查询所有学生信息")
 print("6.退出系统")  
 print("-"*30)
 
 
# 选择序号的获得
def get_choice():
 selected_key = input("请输入选择的序号:")
 return selected_key
 
 
# 检查性别是否合法
def check_sex(new_sex):
 flag = True
 while flag:
 if new_sex == '男' or new_sex == '女':
  flag = False
 else:
  new_sex = input("输入性别有误,请重新输入(男/女):")
 return new_sex
 
 
# 检查电话号码是否合法
def check_phone(new_phone):
 flag = True
 while flag:
 if new_phone.isdigit():
  flag = False
 else:
  new_phone = input("您输入的电话号码有误,请重新输入:")
 return new_phone
 
 
# 检查学号是否重复或者有误
def check_id(new_id):
 flag = True
 while flag:
 # 先检查是不是纯数字再去考虑是否重复的事情,如果不是纯数字直接pass
 if new_id.isdigit():
  for i in range(len(name_list)):
  if name_list[i]['id'] == new_id:
   new_id = check_id(input("您输入的学号重复,请重新输入:"))
  flag = False
 else:
  new_id = input("您输入的学号有误,请重新输入:")
 return new_id
 
 
# 添加学生信息
def add_name():
 new_info = {}
 new_id = check_id(input("请输入学号:"))
 new_info['id'] = new_id
 new_name = input("请输入姓名:")
 new_info['name'] = new_name
 new_sex = check_sex(input("请输入性别(男/女):"))
 new_info['sex'] = new_sex
 new_phone = check_phone(input("请输入电话号码:"))
 new_info['phone'] = new_phone
 name_list.append(new_info)
 print("添加成功!")
 
 
# 查询所有学生信息
def find_all():
 print("="*30)
 for name in name_list:
 print(name['id'], name['name'], name['sex'], name['phone'])
 print("=" * 30)
 
 
# 删除学生信息
def del_name():
 del_id_is = input("请输入要删除的学生学号:")
 flag = False
 index = 0
 for i in range(len(name_list)):
 if name_list[i]['id'] == del_id_is:
  flag = True
  index = i
  break
 if flag:
 name_list.pop(index)
 print("删除成功!")
 else:
 print("学生未找到!请检查学号输入是否有误!")
 
 
# 名字修改细节函数
def choice_of_name(index):
 while True:
 choice = input("请输入要修改学生的(1.id 2.姓名 3.性别 4.电话号码,5.全部修改):")
 if choice == '5':
  new_id = input("请输入新的学号:")
  name_list[index]['id'] = new_id
  new_name = input("请输入新的姓名:")
  name_list[index]['name'] = new_name
  new_sex = check_sex(input("请输入性别(男/女):"))
  name_list[index]['sex'] = new_sex
  new_phone = check_phone(input("请输入电话号码:"))
  name_list[index]['phone'] = new_phone
  break
 elif choice == '1':
  new_id = input("请输入新的学号:")
  name_list[index]['id'] = new_id
  break
 elif choice == '2':
  new_name = input("请输入新的姓名:")
  name_list[index]['name'] = new_name
  break
 elif choice == '3':
  new_sex = check_sex(input("请输入性别(男/女):"))
  name_list[index]['sex'] = new_sex
  break
 elif choice == '4':
  new_phone = check_phone(input("请输入电话号码:"))
  name_list[index]['phone'] = new_phone
  break
 else:
  print("输入有误,请重新输入!")
 
 
# 修改学生信息
def re_name():
 id_is = input("请输入要修改的学生学号:")
 flag = False
 index = 0
 # 先找到要修改的学生的下标
 for i in range(len(name_list)):
 if name_list[i]['id'] == id_is:
  flag = True
  index = i
  break
 if flag:
 choice_of_name(index)
 print("修改成功!")
 else:
 print("修改失败,学生信息未找到!")
 
 
# 查询单个学生信息
def find_name():
 find_id_is = input("请输入要查询的学生学号:")
 flag = False
 index = 0
 for i in range(len(name_list)):
 if name_list[i]['id'] == find_id_is:
  flag = True
  index = i
  break
 if flag:
 print("学生查询到,学生信息为:")
 print(name_list[index]['id'], name_list[index]['name'], name_list[index]['sex'], name_list[index]['phone'])
 else:
 print("学生未找到!")
 
 
def main():
 exit_name = True
 while exit_name:
 display_menu()
 key = get_choice()
 if key == '1':
  add_name()
 elif key == '2':
  del_name()
 elif key == '3':
  re_name()
 elif key == '4':
  find_name()
 elif key == '5':
  find_all()
 elif key == '6':
  exit_name = False
 else:
  print("请输入正确的数值!")
 
 
main()

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

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

Python 相关文章推荐
Python def函数的定义、使用及参数传递实现代码
Aug 10 Python
分析并输出Python代码依赖的库的实现代码
Aug 09 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
python 检查文件mime类型的方法
Dec 08 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
python如何通过twisted搭建socket服务
Feb 03 Python
详解Django配置JWT认证方式
May 09 Python
Python环境搭建过程从安装到Hello World
Feb 05 Python
python实现一个猜拳游戏
Apr 05 #Python
python实现对变位词的判断方法
Apr 05 #Python
python如何判断IP地址合法性
Apr 05 #Python
Python按照list dict key进行排序过程解析
Apr 04 #Python
Django高并发负载均衡实现原理详解
Apr 04 #Python
Django调用支付宝接口代码实例详解
Apr 04 #Python
基于python检查SSL证书到期情况代码实例
Apr 04 #Python
You might like
PHP 手机归属地查询 api
2010/02/08 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
2018/08/07 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
2019/04/16 Javascript
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
基python实现多线程网页爬虫
2015/09/06 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
2016/05/24 Python
Python 文件操作的详解及实例
2017/09/18 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
python获取本机所有IP地址的方法
2018/12/26 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
python 并发下载器实现方法示例
2019/11/22 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
光盘行动倡议书
2014/02/02 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
企业党员一句话承诺
2014/05/30 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
自主招生自荐信范文
2015/03/04 职场文书
会计出纳岗位职责
2015/03/31 职场文书
免职通知
2015/04/23 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android