四则运算

Github地址:https://github.com/sjzsjzsjz/jisuan

PSP表格:

 

 

预测时间(分钟)

nning

计划

2

Estimate

估计这个任务需要多少时间

120

Development

开发

10

Analysis

需求分析

10

Design Spec

生成设计文档

3

Design Review

设计复审(和同事审核设计文档)

2

Coding Standerd

代码规范(为目前的开发制定合适的规范)

1

Design

具体设计

5

Coding

具体编码

60

Code Review

代码复审

10

Text

测试(自测,修改代码,提交修改)

5

Reporting

报告

10

Text Report

测试报告

10

Size Measurement

计算工作量

5

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

10

解题思路描述:

(1) 思考如何随机生成四则运算表达式

(2) 查阅相关博客,了解效能分析所用工具

(3) 学习所用到的类库,如random库

设计实现过程:

这个四则运算表达式由三个函数实现,分别为create1()、create2()、calcul(),前两个函数负责生成表达式,最后一个表达式负责计算结果。

代码说明:

def create1(t):
    s1=random.randint(1,10)
    s2=random.randint(1,10)
    s3=random.choice(['+','-','*','/'])
    calcul(s1,s2,s3,t)

def create2(t):
    s1=random.randint(1,10)
    s2=random.randint(s1,11)
    s3=random.randint(1,10)
    s4=random.randint(s3,11)
    s5=random.choice(['+','-'])
    sr="第"+str(t)+"题:"+str(s1)+'÷'+str(s2)+s5+str(s3)+'÷'+str(s4)+'='
    l1.append(sr)
    if s5=='+':
        l2.append(s1/s2+s3/s4)
    else:
        if s1/s2-s3/s4>0:
            l2.append(s1/s2-s3/s4)
        else:
            sr="第"+str(t)+"题:"+str(s3)+'÷'+str(s4)+s5+str(s1)+'÷'+str(s2)+'='
            l2.append(s3/s4-s1/s2)
def calcul(s1,s2,s3,t):
    sr="第"+str(t)+"题:"+str(s1)+s3+str(s2)+'='
    if s3=='+':
        l2.append(s1+s2)
    elif s3=='-':
        if s1>=s2:
            l2.append(s1-s2)
        else:
            sr="第"+str(t)+"题:"+str(s2)+s3+str(s1)+'='
            l2.append(s2-s1)
    elif s3=='*':
        sr="第"+str(t)+"题:"+str(s1)+'x'+str(s2)+'='
        l2.append(s1*s2)
    elif s3=='/':
        sr="第"+str(t)+"题:"+str(s1)+'÷'+str(s2)+'='
        l2.append(s1/s2)
    l1.append(sr)

测试运行:

性能分析:

这个程序通过使用cProfile和time模块来测试程序的性能

 

PSP表格:

 

 

实际时间(分钟)

nning

计划

10

Estimate

估计这个任务需要多少时间

180

Development

开发

10

Analysis

需求分析

10

Design Spec

生成设计文档

3

Design Review

设计复审(和同事审核设计文档)

2

Coding Standerd

代码规范(为目前的开发制定合适的规范)

1

Design

具体设计

5

Coding

具体编码

90

Code Review

代码复审

20

Text

测试(自测,修改代码,提交修改)

5

Reporting

报告

30

Text Report

测试报告

10

Size Measurement

计算工作量

5

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

10

原文地址:https://www.cnblogs.com/sjzsjzsjz/p/8876494.html