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制作花瓣网美女图片爬虫
Oct 28 Python
Python使用django搭建web开发环境
Jun 09 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 Python
python逆向入门教程
Jan 15 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python实现txt文件格式转换为arff格式
May 31 Python
使用Python快速制作可视化报表的方法
Feb 03 Python
使用python绘制二元函数图像的实例
Feb 12 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
简单了解python的一些位运算技巧
Jul 13 Python
python将字符串转变成dict格式的实现
Nov 18 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 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
php5新改动之短标记启用方法
2008/09/11 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
php无限极分类实现方法分析
2019/07/04 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
python中使用while循环的实例
2019/08/05 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
异地年检委托书范本
2014/09/24 职场文书
可可西里观后感
2015/06/08 职场文书
仓库管理制度范本
2015/08/04 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏