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正则表达式抓取成语网站
Nov 20 Python
python友情链接检查方法
Jul 08 Python
Python中字符串的格式化方法小结
May 03 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
Python使用gRPC传输协议教程
Oct 16 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
Django框架之DRF 基于mixins来封装的视图详解
Jul 23 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
python实现吃苹果小游戏
Mar 21 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 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
laravel5表单唯一验证的实例代码
2019/09/30 PHP
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
详解Angular 自定义结构指令
2017/06/21 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
vue实现购物车加减
2020/05/30 Javascript
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
PHP面试题大全
2015/10/16 面试题
什么是接口(Interface)?
2013/02/01 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
母亲80寿诞答谢词
2014/01/16 职场文书
运动会入场词200字
2014/02/15 职场文书
老同学聚会感言
2014/02/23 职场文书
公司合作意向书
2014/04/01 职场文书
学习经验演讲稿
2014/05/10 职场文书
毕业生实习证明
2014/09/19 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python