其他分享
首页 > 其他分享> > 四则运算版本升级

四则运算版本升级

作者:互联网

目标:对上一次软件项目做进一步升级

一、项目要求:

二、项目改进情况:

1.改进选定方向:功能升级+性能升级

2.代码展示(版本2.0)【Github】

3.改进具体情况:

  • 优化了算式计算方式,不再出现负数情况
  • 优化算法效率,加快计算时间
  • 增加题目即时问答模式功能

三、PSP2.1表格:

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning 计划  20  16
· Estimate · 估计这个任务需要多少时间  20  16
Development 开发  245  313
· Analysis · 需求分析 (包括学习新技术)  60  46
· Design Spec · 生成设计文档  20  35
· Design Review · 设计复审 (和同事审核设计文档)  15  20
· Coding Standard · 代码规范 (为目前的开发制定合适的规范)  20  22
· Design · 具体设计  30  34
· Coding · 具体编码  60  84
· Code Review · 代码复审  20  31
· Test · 测试(自我测试,修改代码,提交修改)  20  41
Reporting 报告  50  68
· Test Report · 测试报告  20  33
· Size Measurement · 计算工作量  20  24
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划  10  11
合计    315  397

四、代码展示:

关键函数result(bo,k)

def result(bo,k):          #运算函数分类别计算
    contain = ''
    num = 0
    rtype = random.randint(2,k)          #生成随机项目数
    if bo == 1:
        for i in range(rtype):           #生成随机数以及随机运算符
            rsign = random.choice(['+','-','*','/'])  
            rnum1 = random.randint(0,100)
            contain += str(rnum1)+str(rsign)
            num += 1
            if num == rtype:
                contain = contain[0:-1] + '='     #置换最后一个字符为“=”放在contain字符串中
                rescon = contain.replace('=','')  #置换最后一个字符为空放在rescon字符串中
        if eval(rescon) < 0:                      #判断结果是否为负数
            result(bo,k)
        else:
            print('题目为:{}{}'.format(contain,eval(rescon)))#输出
    else:
        for i in range(rtype):
            #生成随机真分数以及随机运算符
            rsign = random.choice(['+','-','*','/'])  
            snum1 = random.randint(0,100)
            mnum1 = random.randint(1,100)
            zfs1 = Fraction(snum1, mnum1)
            contain += str(zfs1)+str(rsign)
            num += 1
            if num == rtype:
                contain = contain[0:-1] + '='
                rescon = contain.replace('=','')
        if eval(rescon) < 0:
            result(bo,k) #复用
        else:
            print('题目为:{}{}'.format(contain,eval(rescon)))#输出

 

 

 可以看到输出算式不再有负数结果出现。

 

标签:rescon,random,20,bo,四则运算,版本升级,num,contain
来源: https://www.cnblogs.com/iconangle/p/13744245.html