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 相关文章推荐
zbar解码二维码和条形码示例
Feb 07 Python
Python爬虫代理IP池实现方法
Jan 05 Python
Python 打印中文字符的三种方法
Aug 14 Python
Python实现将Excel转换成xml的方法示例
Aug 25 Python
pycharm安装和首次使用教程
Aug 27 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
pytorch MSELoss计算平均的实现方法
May 12 Python
Python基础学习之奇异的GUI对话框
May 27 Python
Python办公自动化PPT批量转换操作
Sep 15 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
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
Bootstrap基础学习
2015/06/16 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
pytorch forward两个参数实例
2020/01/17 Python
AUC计算方法与Python实现代码
2020/02/28 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
汽车销售顾问求职自荐信
2014/01/01 职场文书
通信工程求职信
2014/07/16 职场文书
2015年采购工作总结
2015/04/10 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
庆元旦主持词
2015/07/06 职场文书
高二数学教学反思
2016/02/18 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书