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日
  • 展开全部

悬赏问题

  • ¥20 苹果手机不使用大疆sdk怎么获取遥控器控制信息或如何接入大疆sdk并且成功上架sdk
  • ¥15 改动头文件造成的编译错误如何解决
  • ¥20 woocommerce 注册按键重定向
  • ¥100 求书法图像文字切割代码
  • ¥15 同一个波形探测距离不同的目标,为什么fft之后得到的频谱图会发生移动,不应该时移不改变幅度谱吗(标签-matlab)(相关搜索:matlab仿真)
  • ¥15 Proteus仿真程序只能执行一次
  • ¥15 语音识别websocket报错
  • ¥15 激光器,引脚问题,无法处理
  • ¥20 求写一份!只提交Mapper映射文件 如:UsersMapper.xml
  • ¥15 CH340C串口模块无法被识别