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网络爬虫项目:内容提取器的定义
Oct 25 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
浅谈function(函数)中的动态参数
Apr 30 Python
详解python中的文件与目录操作
Jul 11 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Python中面向对象你应该知道的一下知识
Jul 10 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 Python
python+opencv实现车道线检测
Feb 19 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
Python定时执行之Timer用法示例
2015/05/27 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
keras打印loss对权重的导数方式
2020/06/10 Python
python脚本和网页有何区别
2020/07/02 Python
python 从list中随机取值的方法
2020/11/16 Python
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
软件配置管理有什么好处
2015/04/15 面试题
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
校园新闻稿范文
2015/07/18 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
完美解决golang go get私有仓库的问题
2021/05/05 Golang