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 相关文章推荐
pycharm 使用心得(五)断点调试
Jun 06 Python
python获取一组汉字拼音首字母的方法
Jul 01 Python
详解Python中的元组与逻辑运算符
Oct 13 Python
python pandas消除空值和空格以及 Nan数据替换方法
Oct 30 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
详解python读取image
Apr 03 Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Python求两个字符串最长公共子序列代码实例
Mar 05 Python
Django模型中字段属性choice使用说明
Mar 30 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
PyQt5爬取12306车票信息程序的实现
May 14 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 curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
javascript html 静态页面传参数
2009/04/10 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
初步探究Python程序的执行原理
2015/04/11 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
Python中动态创建类实例的方法
2017/03/24 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Python换行与不换行的输出实例
2020/02/19 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
咖啡蛋糕店创业计划书
2014/01/28 职场文书
料理师求职信
2014/01/30 职场文书
企业总经理职责
2014/02/02 职场文书
机械专业技术员求职信
2014/06/14 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
django中websocket的具体使用
2022/01/22 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL