python学生管理系统


Posted in Python onJanuary 30, 2019

这几天开始接触了python语言,这语言相对c语言简洁了不少,语言真是一通百通,学起来还是比较轻松,在熟悉了基本语法,列表(序列),元组以及字典之后写了一个最基础简单的的学生管理系统

能完成的功能有:

学生管理系统  v1.0
 1.添加学生的信息
 2.删除学生的信息
 3.修改学生的信息
 4.查询学生的信息
 5.遍历所有学生的信息
 6.退出系统

学生信息中,学号是唯一的,所以进行删除,修改,查询都会有学号的唯一的检测

1.框架显示以及添加学生的功能

python学生管理系统

2.添加两个学生之后,进行显示功能

python学生管理系统

3.删除功能,以及其他也都有学号唯一检测功能!

python学生管理系统

4.修改信息功能

python学生管理系统

5.查询信息以及退出界面

python学生管理系统

接下来是代码

#encoding utf=8
#定义一个函数,显示可以使用的功能列表给用户
def showInfo():
 print("-"*30)
 print(" 学生管理系统 v1.0")
 print(" 1.添加学生的信息")
 print(" 2.删除学生的信息")
 print(" 3.修改学生的信息")
 print(" 4.查询学生的信息")
 print(" 5.遍历所有学生的信息")
 print(" 6.退出系统")
 print( '-'*30)
 
#定义一个列表,用来存储多个学生的信息
students=[]
 
 
while True:
 #把功能列表进行显示给用户
 showInfo()
 
 #提示用户选择功能
 #获取用户选择的功能
 key = int(input("请选择功能(序号):"))
 
 #根据用户选择,完成相应功能
 if key == 1:
 print("您选择了添加学生信息功能")
 name = input("请输入学生姓名:")
 stuId = input("请输入学生学号(学号不可重复):")
 age = input("请输入学生年龄:")
 
 #验证学号是否唯一
 i = 0
 leap = 0
 for temp in students:
  if temp['id'] == stuId:
  leap = 1
  break
  else:
  i = i + 1
 if leap == 1:
  print("输入学生学号重复,添加失败!")
  break
 else:
  # 定义一个字典,存放单个学生信息
  stuInfo = {}
  stuInfo['name'] = name
  stuInfo['id'] = stuId
  stuInfo['age'] = age
 
  # 单个学生信息放入列表
  students.append(stuInfo)
  print("添加成功!")
 
 elif key == 2:
 print("您选择了删除学生功能")
 delId=input("请输入要删除的学生学号:")
 #i记录要删除的下标,leap为标志位,如果找到leap=1,否则为0
 i = 0
 leap = 0
 for temp in students:
  if temp['id'] == delId:
  leap = 1
  break
  else:
  i=i+1
 if leap == 0:
  print("没有此学生学号,删除失败!")
 else:
  del students[i]
  print("删除成功!")
 
 
 elif key == 3:
 print("您选择了修改学生信息功能")
 alterId=input("请输入你要修改学生的学号:")
 #检测是否有此学号,然后进行修改信息
 i = 0
 leap = 0
 for temp in students:
  if temp['id'] == alterId:
  leap = 1
  break
  else:
  i = i + 1
 if leap == 1:
  while True:
  alterNum=int(input(" 1.修改学号\n 2.修改姓名 \n 3.修改年龄 \n 4.退出修改\n"))
  if alterNum == 1:
   newId=input("输入更改后的学号:")
   #修改后的学号要验证是否唯一
   i = 0
   leap1 = 0
   for temp1 in students:
   if temp1['id'] == newId:
    leap1 = 1
    break
   else:
    i = i + 1
   if leap1 == 1:
   print("输入学号不可重复,修改失败!")
   else:
   temp['id']=newId
   print("学号修改成功")
  elif alterNum == 2:
   newName=input("输入更改后的姓名:")
   temp['name'] = newName
   print("姓名修改成功")
  elif alterNum == 3:
   newAge=input("输入更改后的年龄:")
   temp['age'] = newAge
   print("年龄修改成功")
  elif alterNum == 4:
   break
  else:
   print("输入错误请重新输入")
 else:
  print("没有此学号,修改失败!")
 elif key == 4:
 print("您选择了查询学生信息功能")
 searchID=input("请输入你要查询学生的学号:")
 #验证是否有此学号
 i = 0
 leap = 0
 for temp in students:
  if temp['id'] == searchID:
  leap = 1
  break
  else:
  i = i + 1
 if leap == 0:
  print("没有此学生学号,查询失败!")
 else:
  print("找到此学生,信息如下:")
  print("学号:%s\n姓名:%s\n年龄:%s\n"%(temp['id'],temp['name'],temp['age']))
 elif key == 5:
 #遍历并输出所有学生的信息
 print('*'*20)
 print("接下来进行遍历所有的学生信息...")
 print("id 姓名  年龄")
 for temp in students:
  print("%s %s %s"%(temp['id'],temp['name'],temp['age']))
 print("*"*20)
 elif key == 6:
 #退出功能,尽量往不退出的方向引
 quitconfirm = input("亲,真的要退出么 (yes或者no)??~~(>_<)~~??")
 if quitconfirm == 'yes':
  print("欢迎使用本系统,谢谢")
  break;
 else:
 print("您输入有误,请重新输入")

一些功能模块在后续会做成函数调用的方式,可以使程序看起来更加简洁。

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

Python 相关文章推荐
Python中字典(dict)合并的四种方法总结
Aug 10 Python
python进阶_浅谈面向对象进阶
Aug 17 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
Python 单元测试(unittest)的使用小结
Nov 14 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
python实现五子棋人机对战游戏
Mar 25 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
详解Python打包分发工具setuptools
Aug 05 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
selenium+python截图不成功的解决方法
Jan 30 #Python
python列表使用实现名字管理系统
Jan 30 #Python
Python基本socket通信控制操作示例
Jan 30 #Python
Python mutiprocessing多线程池pool操作示例
Jan 30 #Python
Python多线程处理实例详解【单进程/多进程】
Jan 30 #Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
Jan 30 #Python
python实现烟花小程序
Jan 30 #Python
You might like
php Smarty模板生成html文档的方法
2010/04/12 PHP
PHP安全防范技巧分享
2011/11/03 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP解析RSS的方法
2015/03/05 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
解析URI与URL之间的区别与联系
2013/11/22 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
js中document.referrer实现移动端返回上一页
2017/02/22 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
python 实现文件的递归拷贝实现代码
2012/08/02 Python
python实现简单flappy bird
2018/12/24 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python画图常规设置方式
2020/03/05 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
网聊搭讪开场白
2015/05/28 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
详解Python中__new__方法的作用
2022/03/31 Python