zoukankan      html  css  js  c++  java
  • 小学生四则运算自动刷题库优化升级

    原项目博客:https://www.cnblogs.com/liyanyinng/p/13704568.html

    github地址:https://github.com/Gitforyong/autoBankApp

    psp2.1表格

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 5 5
    ·Estimate ·估计这个任务需要多少时间 5 5
    Development 开发 180 305
    ·Analysis ·需求分析(包括学习新技术) 5 5
    ·Design Spec ·生成设计文档 5 5
    ·Design Review ·设计复审(和同事审核设计文档) 10 10
    ·Coding Standard ·代码规范(为目前的开发设计合适的代码规范) 5 5
    ·Design ·具体设计 10 20
    ·Coding ·具体编码 120 240
    ·Code Review ·代码复审 10 5
    ·Tset ·测试(自我测试,修改代码,提交修改) 15 15
    Reporting 报告 80 70
    ·Test Report ·测试报告 30 20
    ·Size Measurement ·计算工作量 20 10
    ·Postmortem & Process Improvement Plan ·事后总结,并提出过程修改计划 30 30
    合计   265 380

    一、功能升级——把用户刷题结果记录保存为本地docx文档

    二、性能升级——核心函数优化

    1.1功能升级核心代码:

     1 #saveRecordToDocx——保存用户刷题记录到本地docx文档
     2 def saveRecordToDocx(title,gradeNum,degreeOfDiff,problemNum,problemsArray,accuracyRate):
     3 
     4     today = time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='',m='',d='')  #记录当天日期
     5     
     6     document = Document()                                                                   #创建一个空文档
     7     
     8     p0 = document.add_paragraph()                                                          #初始化建立第一个自然段
     9     
    10     run0 = p0.add_run('————————————小学生四则运算自动刷题库——————————
     
    11     请输入您的所在年级:(1,2,3,4,5,6):%d
     
    12     请输入本次刷题题型:1,0->(100以内正整数四则运算,真分数加减运算):%d
     
    13     请输入您要选择的难易程度:(1,2,3,4,5->简单,较易,中等,较难,难):%d
     
    14     请输入本次刷题目标数量:%d
     
    15     ————————————————————————————'%(int(gradeNum),int(title),int(degreeOfDiff),int(problemNum)))
    16     
    17     run0.font.name = '仿宋_GB2312'                                                #设置字体中文
    18     
    19     run0.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')                  #设置字体西文
    20     
    21     run0.font.bold = True                                                         #是否加粗
    22     
    23     run0.font.size = Pt(12)                                                        #字符尺寸大小
    24     
    25     for i in range(len(problemsArray)):
    26         
    27         document.styles['Normal'].font.name = u'宋体'                               #设置文档的基础字体中文                             
    28         
    29         document.styles['Normal'].element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体')  #设置文档的基础字体西文
    30 
    31         pl = document.add_paragraph()                                              #初始化建立第二个自然段
    32     
    33         run1 = pl.add_run('题目:%s;你的答案:%s;正确答案:%s'%(problemsArray[i][0],problemsArray[i][1],problemsArray[i][2]))
    34     
    35         run1.font.name = '仿宋_GB2312'
    36     
    37         run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')
    38     
    39         run1.font.size = Pt(11)
    40     
    41     p2 = document.add_paragraph()                                                  #初始化建立第三个自然段
    42     
    43     p2.alignment = WD_ALIGN_PARAGRAPH.CENTER                                      #对齐方式为居中,没有则默认左对齐
    44     
    45     run2 = p2.add_run('————————————————————————————
    本次刷题准确率达到:%.3f !'%(float(accuracyRate)))
    46     
    47     run2.font.name = '仿宋_GB2312'                                                #设置字体中文
    48     
    49     run2.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312')                  #设置字体西文
    50     
    51     run2.font.bold = True                                                         #是否加粗
    52     
    53     run2.font.size = Pt(12)
    54     
    55     document.save('D:Git-projects\autoBankApp\%s刷题记录.docx'% today)
    56     

    以下是部分结果和展示:

    (终端输出)

    (docx文档内容)

     

     2.1性能优化结构:

    (优化前)

    (优化后)

    2.2性能测试:

    (优化前)

    (优化后)

     2.3性能优化分析:

    可以看到 优化前整个程序的运行时间是28.554s,优化后的总时长是8.761s

     

  • 相关阅读:
    Linux centos 6.4安装
    vm虚拟机安装,配置与使用
    Linux简介
    360兼容视图
    补丁patch 漏洞 bug或glitch
    迫不得已! ! 仅仅针对IE浏览器的样式,尤其是IE8及以下
    JS延时器 定时器 暂停器 中断器
    CSS动态定位
    一个标准的AJAX请求
    ajax的两个重要参数contentType 和dataType
  • 原文地址:https://www.cnblogs.com/liyanyinng/p/13744010.html
Copyright © 2011-2022 走看看