文章目录

  • 题目要求
  • 1. 建一个数据测试表
  • 2. 编写程序
  • 3. 效果展示

题目要求

学生成绩存储在Excel文件(如表9-1)中,本程序从Excel文件读取学生成绩,统计各个分数段(90分以上,8089分,7079分,60~69分,60分以下)学生人数,并用柱状图(如图9-1)展示学生成绩分布,同时计算出最高分、最低分、平均成绩、各分数段人数等分析指标。

1. 建一个数据测试表

随便建,最好各个分数区间都有,展示出来更直观,示例建表如下:

2. 编写程序

程序可分为两部分编写,一部分用于读取表格数据,拿到分数数据再求其他相关量就好做了,第二部分就是拿到第一部分的成绩列表,再进行具体的数据分析需求。
示例代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import xlrd
import matplotlib.pyplot as pltwb = xlrd.open_workbook('mark.xlsx')
sheet = wb.sheet_names()
sh = wb.sheet_by_name('Sheet1')
course_list = sh.row_values(0)
print(course_list[2:])  # ['physics', 'Python', 'math', 'english']
course = input('请输入需要展示的课程名:')
m = course_list.index(course)
col_list = sh.col_values(m)
print(col_list)  # ['math', 95.0, 94.0, 93.0, 92.0]
score_list = col_list[1:]
print(score_list)
print(sum(score_list))
print('最高分:%s ' % max(score_list))
print('最低分:%s' % min(score_list))
print('平均分:%s' % (int(sum(score_list)) / len(score_list)))y = [0, 0, 0, 0, 0]
for score in score_list:if score >= 90:y[0] += 1elif score >= 80:y[1] += 1elif score >= 70:y[2] += 1elif score >= 60:y[3] += 1else:y[4] += 1
print('90分以上:',y[0])
print('80-90分:',y[1])
print('70-79分:',y[2])
print('60-69分:',y[3])
print('60分以下:',y[4])xl = ['90分以上', '80-90分', '70-79分', '60-69分', '60分以下']x = [1, 2, 3, 4, 5]
plt.xlabel('分数段')
plt.ylabel('人数')
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.xticks(x, xl)
recs = plt.bar(x=x, height=y, color='green', width=0.5)
plt.title(course + '成绩分析')
for rec in recs:height = rec.get_height()plt.text(rec.get_x() + rec.get_width() / 2.0, 1.03 * height, '%s' % float(height))plt.show()

3. 效果展示

简单的学生成绩数据分析案例相关推荐

  1. 一个简单的学生成绩管理软件(ODBC开发)

    一个简单的学生成绩管理软件(ODBC开发) 下载本文所附源代码 程序运行效果截图: 前面我写过一篇<一个完善的ODBC数据库程序>,大家可能看到过,有鼓励,也有批评,但是所有这一切只有一个 ...

  2. c语言数组用户注册登入管理系统_学生成绩管理系统案例

    最近可能是接近考试,有小伙伴微信私聊让找个学生成绩管理系统,今天发一下,比较简洁. 案例描述 案例要求模拟开发一个学生成绩管理系统,此系统具有以下功能: 添加学生信息,包括学号.姓名.语文成绩.数学成 ...

  3. 简单的学生成绩管理系统

    简单的学生成绩管理系统 写一个科目类,包含科目名称,科目分数2个数据成员,一个衡量是否及格的成员函数,用其构造函数为科目对象赋值.写一个学生类,含学号,姓名2个数据成员,以及一个成绩对象指针成员(指向 ...

  4. java简单学生成绩系统_JAVA 实现简单的学生成绩管理系统

    一.实验目的 1.掌握java的类与对象的基本概念: 2.掌握简单的信息管理系统的设计与实现. 二.实验环境 实验建议在安装了以下软件的计算机上完成: 1.       Windows xp/win7 ...

  5. 用计算机怎么做成绩表,利用Excel制作一个简单的学生成绩表.doc

    利用Excel制作一个简单的学生成绩表 教学设计表 学科 信息技术 授课年级 八年级 学校 教师姓名 章节名称初中信息技术八年级上册第7课(第1节)计划学时1学时学习内容分析学习Excel的基础知识, ...

  6. 第一篇博客——C语言实现简单的学生成绩管理系统

    C语言简单实现学生成绩管理系统 一.前言 首先,要写一个管理系统必须要先搭出一个框架来,即明确自己要实现哪些功能,将每个功能都写陈一个函数,然后再去编写实现各个功能的函数,最后再思考各个函数之间的相互 ...

  7. 简单的学生成绩查询web系统

    实验内容:基于 JSP+Mysql 做一个简单的学生成绩查询web系统. 文章目录 一.Java Web 1. B/S系统 2.主要框架 3.servlet 4.Web服务器 Tomcat 5.JSP ...

  8. 高一年级学生成绩表案例_便宜的教科书,高年级学生可以更好地获得

    高一年级学生成绩表案例 最近在德克萨斯Linux节上 , Ross Reedstrom向我介绍了OpenStax . 我听说过很多开放式教育资源(OER),但不是特别的一种. 当然,这是我现在要遵循的 ...

  9. JSP+Mysql 做一个简单的学生成绩查询web系统

    IDEA基于JSP+Mysql 做一个简单的学生成绩查询web系统 目录 一.相关软件的下载和配置环境 Java环境的下载和配置 (1)IDEA的下载和安装 ​ (2)JdK的安装 Tomcat的下载 ...

  10. Python:结合列表和字典,编写一个简单的学生成绩管理系统

            本次主要使用新学的列表和字典,结合定义函数等知识点,成功编写了一个简单的学生成绩管理系统.实现了在系统内使用学生的姓名或者学号,即可实现显示.添加.删除.修改.查找(增删改查).成绩排 ...

最新文章

  1. 【9915】乘积最大
  2. java线程 yield_Java线程中yield与join方法的区别
  3. mysql存储过程queue_mysql – 在Sequelize中调用输入/输出类型存储过程
  4. 注册刷短信验证码的问题
  5. C++内联函数(inline function)
  6. Powershell 最大值堆栈实现
  7. Unity手游之路十自动寻路Navmesh之跳跃,攀爬,斜坡
  8. 第八届“数学、计算机与生命科学交叉研究” 青年学者论坛--特别云论坛
  9. Java常用开发工具推荐
  10. 所有程序员都应该知道的 6 个软件开发步骤
  11. Velocity的使用
  12. ue4设置图片大小_UE4 相机拍照功能(图片保存)
  13. [SSL_CHX][2022-02-23]进制转换
  14. 微信删除的聊天记录怎么恢复,教你两个方法
  15. Python netCDF4
  16. 红米手机5A完整卡刷开发版获取Root超级权限的流程
  17. 企业级监控系统概述、监控类型及发展趋势
  18. 理解色彩与相机内图像处理流程——流程详解
  19. linux之排序sort命令详解
  20. 软考证书值得考吗?怎么考?

热门文章

  1. 【报告分享】 2020-2021年数字内容产业趋势报告-企鹅智库 (附下载)
  2. WSO2 ESB 5.0.0 集群配置
  3. 四步成为人工智能产品经理
  4. java wsimport 调用_webService----wsimport调用方式
  5. 智能计算系统1 环境搭建
  6. python playsound播放时关闭_Python3 超好用的音频播放模块 playsound
  7. 机器学习十大算法案例
  8. 聚合支付PC端-银联扫码支付
  9. 计算机专业英文版模板简历,计算机专业英文简历模板
  10. 一、最简单的爬虫(python3 爬虫小白系列文章)