ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

改进版四则运算

2019-03-28 16:39:43  阅读:336  来源: 互联网

标签:10 denominator 四则运算 numerator 60 fraction 30 改进版


(1)Github地址:https://github.com/1281162169/newest-second-task

(2)PSP表格:

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

60

30

· Estimate

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

60

30

Development

开发

200

150

· Analysis

· 需求分析 (包括学习新技术)

60

60

· Design Spec

· 生成设计文档

50

60

· Design Review

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

20

20

· Coding Standard

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

10

10

· Design

· 具体设计

30

40

· Coding

· 具体编码

200

200

· Code Review

· 代码复审

40

30

· Test

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

60

60

Reporting

报告

100

100

· Test Report

· 测试报告

60

60

· Size Measurement

· 计算工作量

10

10

· Postmortem & Process Improvement Plan

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

30

30

合计

 

990

890

(3)升级说明:这次升级增加了随机产生括号和把生成的四则运算题目保存在一个文档中,答案保存在另一个文档中。

4)主要代码:

获得随机数字与符号:

def get_Arithmeticl(self):#获得随机数字与符号
        symbol=[]
        numerical=[]
        syb=0
        n=1
        m=0
        i=random.randint(1, 3)
        for x in range(i):
            sy=random.choice(['+','-','×','÷'])#随机选择[]中的一个
            if sy=='+'or sy=='-':
                syb +=10**(i-x-1)
            else :
                syb += 2 * (10 ** (i - x - 1))
            symbol.append(sy)
        if self.r < 10:
            n = int(10 / self.r)
        if n==1:
            while m <= i:
                numerical.append(Fraction(random.randint(1, self.r), random.randint(1, self.r)))
                m+=1
        else:
            while m <= i:
                nu = Fraction(random.randint(1, self.r * n), random.randint(1, self.r * n))
                if nu<=self.r:
                    numerical.append(nu)
                    m += 1
        return symbol,syb,numerical,i

将假分数转化为真分数:

def get_Conversion(fraction):#假分数转化真分数
    if fraction.numerator%fraction.denominator==0:#numerator分子  denominator分母
        return '%d'%(fraction.numerator/fraction.denominator)
    elif fraction.numerator>fraction.denominator:#分子大于分母
        a=int(fraction.numerator/fraction.denominator)
        b, c = fraction.numerator - a * fraction.denominator, fraction.denominator
        return '%d%s%d%s%d' % (a,'’',b,'/',c)
    else:
        b, c = fraction.numerator, fraction.denominator
        return '%d%s%d' % (b,'/',c)

5)运行分析:

截图:

部分生成的四则运算:

部分答案:

 

标签:10,denominator,四则运算,numerator,60,fraction,30,改进版
来源: https://www.cnblogs.com/jayjayliang/p/10615959.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有