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 相关文章推荐
Python3访问并下载网页内容的方法
Jul 28 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
python+selenium开发环境搭建图文教程
Aug 11 Python
对python中return和print的一些理解
Aug 18 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
python计算两个数的百分比方法
Jun 29 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 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
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
PHP实现网站应用微信登录功能详解
2019/04/11 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
JS实现标签页效果(配合css)
2013/04/03 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
使用Python写CUDA程序的方法
2017/03/27 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python使用thrift教程的方法示例
2019/03/21 Python
python aiohttp的使用详解
2019/06/20 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
《长城》教学反思
2014/02/14 职场文书
经典洗发水广告词
2014/03/13 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
影视后期实训报告
2014/11/05 职场文书
田径运动会广播稿
2015/08/19 职场文书