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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
Python常见字典内建函数用法示例
May 14 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
python全局变量引用与修改过程解析
Jan 07 Python
Python基于pandas爬取网页表格数据
May 11 Python
Django Model中字段(field)的各种选项说明
May 19 Python
详解python如何引用包package
Jun 07 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 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 读取文件乱码问题
2010/02/20 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
php中strtotime函数性能分析
2016/11/20 PHP
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
2014/12/05 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
python获取从命令行输入数字的方法
2015/04/29 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
运动会广播稿80字
2014/01/23 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
模范教师事迹材料
2014/12/16 职场文书
小学德育工作总结2015
2015/05/12 职场文书
立项申请报告范本
2015/05/15 职场文书
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android