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爬取最好大学网大学排名
Feb 24 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
Mac下Anaconda的安装和使用教程
Nov 29 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Django之模板层的实现代码
Sep 09 Python
python清空命令行方式
Jan 13 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
Python Dataframe常见索引方式详解
May 27 Python
Python开发入门——迭代的基本使用
Sep 03 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 Python
python字符串常规操作大全
May 02 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
php中Snoopy类用法实例
2015/06/19 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
大一学生假期实习的自我评价
2013/10/12 职场文书
工业设计专业推荐信
2013/10/29 职场文书
实习生评语
2014/04/26 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
浅析Django接口版本控制
2021/06/26 Python
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL