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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
为python设置socket代理的方法
Jan 14 Python
利用Python绘制MySQL数据图实现数据可视化
Mar 30 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
Pycharm简单使用教程(入门小结)
Jul 04 Python
python数据归一化及三种方法详解
Aug 06 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
python os模块常用的29种方法使用详解
Jun 02 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
关于Python3爬虫利器Appium的安装步骤
Jul 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
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
浅谈layui 表单元素的选中问题
2019/10/25 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
Python map和reduce函数用法示例
2015/02/26 Python
python字典DICT类型合并详解
2017/08/17 Python
Django 使用logging打印日志的实例
2018/04/28 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
Django choices下拉列表绑定实例
2020/03/13 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
通俗讲解python 装饰器
2020/09/07 Python
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
无罪辩护词范文
2015/05/21 职场文书
百家讲坛观后感
2015/06/12 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python