python学生信息管理系统(初级版)


Posted in Python onOctober 17, 2018

本文为大家分享了python学生信息管理系统的初级实现代码,供大家参考,具体内容如下

学生信息管理项目,要求带操作界面,并完成每项操作:

+----------------------+
| 1)添加学生信息

 |
| 2)显示所有学生的信息

   

 |
| 3)删除学生信息

      |
| 4)修改学生信息

          


| 5)按学生成绩高-低显示学生信息

         |
| 6)按学生成绩低-高显示学生信息

       |
| 7)按学生年龄高-低显示学生信息

  


| 8)按学生年龄低-高显示学生信息

   |
| 9)退出                   

           |

学生信息包括有:名字,年龄,成绩

注:按照正常的输入流程没有问题,还有待完善(完整版参见下一篇:Python项目:学生信息管理系统(完整版) )

详细代码如下:

# student_info.py
# 学生信息管理项目,要求带操作界面:
# +----------------------+
# | 1)添加学生信息









|
# | 2)显示所有学生的信息







 |
# | 3)删除学生信息










|
# | 4)修改学生信息










|
# | 5)按学生成绩高-低显示学生信息



 |
# | 6)按学生成绩低-高显示学生信息



 |
# | 7)按学生年龄高-低显示学生信息



 |
# | 8)按学生年龄低-高显示学生信息



 |
# | 9)退出  



 |
 
 
def meun():
 menu_info = '''+----------------------+
| 1)添加学生信息  |
| 2)显示所有学生的信息  |
| 3)删除学生信息  |
| 4)修改学生信息  |
| 5)按学生成绩高-低显示学生信息 |
| 6)按学生成绩低-高显示学生信息 |
| 7)按学生年龄高-低显示学生信息 |
| 8)按学生年龄低-高显示学生信息 |
| 9)退出   |
'''
 print(menu_info)
 
 
# 以下二个函数用于sorted排序, key的表达式函数
def get_age(*l):
 for x in l:
 return x.get("age")
def get_score(*l):
 for x in l:
 return x.get("score")
 
# 1)添加学生信息
def add_student_info():
 L = []
 while True:
 n = input("请输入名字:")
 if not n: # 名字为空 跳出循环
 break
 a = int(input("请输入年龄:"))
 s = int(input("请输入成绩:"))
 info = {"name":n,"age":a,"score":s}
 L.append(info)
 return L
 
# 2)显示所有学生的信息
def show_student_info(student_info):
 print("名字".center(8),"年龄".center(4),"成绩".center(4))
 for info in student_info:
 print(info.get("name").center(10),str(info.get("age")).center(4),str(info.get("score")).center(4))
 
# 3)删除学生信息
def del_student_info(student_info,del_name = ''):
 if not del_name:
 del_name = input("请输入删除的学生姓名:")
 for info in student_info:
 if del_name == info.get("name"):
 return info
 
# 4)修改学生信息
def mod_student_info(student_info):
 mod_name = input("请输入修改的学生姓名:")
 for info in student_info:
 if mod_name == info.get("name"):
 a = int(input("请输入年龄:"))
 s = int(input("请输入成绩:"))
 info = {"name":mod_name,"age":a,"score":s}
 return info
 raise IndexError("学生信息不匹配,没有找到%s" %mod_name)
 
# 5)按学生成绩高-低显示学生信息
def score_reduce(student_info):
 print("按学生成绩高-低显示")
 mit = sorted(student_info ,key = get_score,reverse = True)
 show_student_info(mit)
 
# 6)按学生成绩低-高显示学生信息
def score_rise(student_info):
 print("按学生成绩低-高显示")
 mit = sorted(student_info ,key = get_score)
 show_student_info(mit)
 
# 7)按学生年龄高-低显示学生信息
def age_reduce(student_info): 
 print("按学生年龄高-低显示:")
 mit = sorted(student_info ,key = get_age,reverse = True)
 show_student_info(mit)
 
# 8)按学生年龄低-高显示学生信息
def age_rise(student_info): 
 print("按学生年龄低-高显示:")
 mit = sorted(student_info ,key = get_age)
 show_student_info(mit)
 
def main():
 student_info = []
 while True:
 meun()
 number = input("请输入选项:")
 if number == '1':
 student_info = add_student_info()
 elif number == '2':
 show_student_info(student_info)
 elif number == '3':
 student_info.remove(del_student_info(student_info))
 elif number == '4':
 try: 
 student = mod_student_info(student_info)
 except Exception as e:
 # 学生姓名不匹配
 print(e)
 else:
 # 首先按照根据输入信息的名字,从列表中删除该生信息,然后重新添加该学生最新信息
 student_info.remove(del_student_info(student_info,del_name = student.get("name"))) 
 student_info.append(student)
 elif number == '5':
 score_reduce(student_info)
 elif number == '6':
 score_rise(student_info)
 elif number == '7':
 age_reduce(student_info)
 elif number == '8':
 age_rise(student_info)
 elif number == '9':
 break
 else:
 break
 
main()

程序效果如下:

python学生信息管理系统(初级版)

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

Python 相关文章推荐
使用Python的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
Aug 10 Python
Python实现的文本编辑器功能示例
Jun 30 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
python将list转为matrix的方法
Dec 12 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
python 动态调用函数实例解析
Oct 21 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
tensorflow基于CNN实战mnist手写识别(小白必看)
Jul 20 Python
学生信息管理系统python版
Oct 17 #Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 #Python
Python实现Dijkstra算法
Oct 17 #Python
使用Python抓取豆瓣影评数据的方法
Oct 17 #Python
python 对key为时间的dict排序方法
Oct 17 #Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 #Python
通过python将大量文件按修改时间分类的方法
Oct 17 #Python
You might like
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
php中JSON的使用方法
2015/04/30 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
Python实现的简单读写csv文件操作示例
2018/07/12 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
拓展培训心得体会
2014/01/04 职场文书
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android