20岁不会敲代码 2021-12-23 17:33 采纳率: 83.3%
浏览 93
已结题

怎么把最后的结果输出到可视化窗口

import xlrd

book = xlrd.open_workbook(r"C:\Users\XCP\PycharmProjects\pythonProject1\cheng_ji.xls") # 获取工作表格
sheet1 = book.sheets()[0] # 获取表格sheet
col0_value = sheet1.col_values(0, 1) # 获取学生姓名列表
col1_value = sheet1.col_values(1, 1) # 获取sheet第2列成绩列表
col_dict = zip(col0_value, col1_value) # 将姓名和成绩存为字典以便于遍历
avg_score = sum(col1_value) / len(col1_value) # 求取平均值
highest_score = max(col1_value) # 求取最高分数
lowest_score = min(col1_value) # 求取最低分数
print('成绩统计如下**')
print('平均成绩:', avg_score)
print('最高分:{}'.format(highest_score))
print('最低分:{}'.format(lowest_score))
for k, v in dict(col_dict).items():
if int(v) < 60:
print('不及格的学生:{0} 成绩:{1}'.format(k, v))

  • 写回答

2条回答 默认 最新

  • 橙子CK 2021-12-23 19:34
    关注
    
    import xlrd
    import matplotlib.pyplot as plt
    book = xlrd.open_workbook(r'C:\Users\Administrator\Desktop\cheng_ji.xlsx')  # 获取工作表格
    sheet1 = book.sheets()[0]  # 获取表格sheet
    col0_value = sheet1.col_values(0, 1)  # 获取学生姓名列表
    col1_value = sheet1.col_values(1, 1)  # 获取sheet第2列成绩列表
    col_dict = zip(col0_value, col1_value)  # 将姓名和成绩存为字典以便于遍历
    avg_score = sum(col1_value) / len(col1_value)  # 求取平均值
    highest_score = max(col1_value)  # 求取最高分数
    lowest_score = min(col1_value)  # 求取最低分数
    print('成绩统计如下**')
    print('平均成绩:', avg_score)
    print('最高分:{}'.format(highest_score))
    print('最低分:{}'.format(lowest_score))
    failed_student = {}
    for k, v in dict(col_dict).items():
        if int(v) < 60:
            failed_student[k] = v
            print('不及格的学生:{0} 成绩:{1}'.format(k, v))
    
    plt.rcParams['font.sans-serif'] = ['FangSong']
    list_item = ['平均成绩', '最高分', '最低分']
    score_list = [avg_score, highest_score, lowest_score]
    plt.subplot(1, 2, 1)
    plt.title('学生总成绩', fontsize=24)
    plt.ylabel('分数')
    plt.xlabel('分数类别')
    plt.bar(list_item, score_list, width=0.35, color='pink')
    plt.subplot(1, 2, 2)
    plt.title('不及格成绩', fontsize=24)
    plt.ylabel('分数')
    plt.xlabel('姓名')
    plt.bar(failed_student.keys(), failed_student.values(), width=0.25)
    plt.show()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月31日
  • 已采纳回答 12月23日
  • 修改了问题 12月23日
  • 修改了问题 12月23日
  • 展开全部

悬赏问题

  • ¥15 arcgis中更新地理配准后几个图层分离怎么解决?
  • ¥15 想请教大家关于机器学习的问题
  • ¥15 虚幻UE保存Actor位置失败
  • ¥15 多个.nii合并为.nii.gz格式
  • ¥50 现在需要统计2023年全年 “签收时间(qssj)” 到 “提交时间(tjsj)” 小于半小时的业务量,但是要排除掉周末的时间,同时还要排除中午休息的时间。
  • ¥50 opencv模板匹配为何图像差别大仍然匹配数值高?
  • ¥15 如何成功完成主菜单和分菜单的代码编程C++
  • ¥15 怎样采集或者其它途径拿到全国最新个体工商户数据
  • ¥20 我是一名大学生,想学习java是自学还是报培训班呢
  • ¥15 pycharm该如何爬取网易云歌曲下的评论?