python学生管理系统开发


Posted in Python onJanuary 30, 2019

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

学生管理系统(基础版)

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

学生管理系统(函数版)

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

main()

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

Python 相关文章推荐
Python牛刀小试密码爆破
Feb 03 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
kNN算法python实现和简单数字识别的方法
Nov 18 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
Python 正则表达式实现计算器功能
Apr 29 Python
基于ID3决策树算法的实现(Python版)
May 31 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
python如何实现从视频中提取每秒图片
Oct 22 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 Python
Python修改文件往指定行插入内容的实例
Jan 30 #Python
python学生管理系统
Jan 30 #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
You might like
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP制作万年历
2015/01/07 PHP
实例讲解php实现多线程
2019/01/27 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
JavaScript获取网页表单提交方式的方法
2015/04/02 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
Python中的魔法方法深入理解
2014/07/09 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
Python3的socket使用方法详解
2020/02/18 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
Django REST 异常处理详解
2020/07/15 Python
Linux内核产生并发的原因
2012/07/13 面试题
优秀班主任推荐材料
2014/12/17 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
Python访问Redis的详细操作
2021/06/26 Python
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle