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基础教程之字典操作详解
Mar 25 Python
python抓取最新博客内容并生成Rss
May 17 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
python计算auc指标实例
Jul 13 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
python如何制作缩略图
Apr 30 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
Numpy 多维数据数组的实现
Jun 18 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
Python的collections模块真的很好用
Mar 01 Python
Python 阶乘详解
Oct 05 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+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
vue中v-model动态生成的实例详解
2017/10/27 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
python logging 日志的级别调整方式
2020/02/21 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
详解如何修改python中字典的键和值
2020/09/29 Python
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
教育技术学专业职业规划书
2014/03/03 职场文书
火锅店的活动方案
2014/08/15 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
中国世界遗产导游词
2015/02/13 职场文书
超市收银员岗位职责
2015/04/07 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
Python保存并浏览用户的历史记录
2022/04/29 Python