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创建系统目录的方法
Mar 11 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
python 根据pid杀死相应进程的方法
Jan 16 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
pandas多级分组实现排序的方法
Apr 20 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
tensorflow实现加载mnist数据集
Sep 08 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
Python中字符串与编码示例代码
May 20 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 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个人网站架设连环讲(三)
2006/10/09 PHP
PHP+DBM的同学录程序(5)
2006/10/09 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP如何使用Memcached
2016/04/05 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
JS与框架页的操作代码
2010/01/17 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
Django 限制访问频率的思路详解
2019/12/24 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
工业自动化毕业生自荐信范文
2014/01/04 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
小学教师读书活动总结
2014/07/08 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL