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中的FTP通信模块ftplib的用法整理
Jul 08 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
python 编程之twisted详解及简单实例
Jan 28 Python
python图像常规操作
Nov 11 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
关于Python解包知识点总结
May 05 Python
Python grpc超时机制代码示例
Sep 14 Python
python使用numpy中的size()函数实例用法详解
Jan 29 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
js性能优化技巧
2015/11/29 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
浅析Python中的多重继承
2015/04/28 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
企业内部培训方案
2014/02/04 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
三好学生评语大全
2014/12/29 职场文书
九寨沟导游词
2015/02/02 职场文书
人事聘任通知
2015/04/21 职场文书
网络营销实训总结
2015/08/03 职场文书
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python