软件工程个人项目—四则运算

Github地址:https://github.com/kelikel/work_first

1)题目

能自动生成小学四则运算题目(结果不出现负数);

除了整数外,还要支持真分数的四则运算。

 2)PSP

3)需求分析:

满足小学的基础计算且不超纲;

随机生成四则运算题,结果不为负数;

存在真分数的计算;

可生成答案进行对比;

4)

解题思路:

小学的运算只有加减乘除,且需要满足不出现负数的情况,因为运算中减法可能出现负数情况,需要对随机生成的两个数字进行比较,将较大的作为被减数,较小的作为减数,解决负数出现的问题;

为解决真分数问题,调用 fractions 库进行真分数运算;

5)设计实现:

newint( )函数生成整数四则运算

newfra( )函数生成真分数四则运算

newtest( )函数生成题库及答案

6)代码说明:

def newint():       #生成整数四则运算函数

    opr = ['+', '-', '×', '÷']

    fh = random.randint(0, 3)

    n1 = random.randint(1, 20)

    n2 = random.randint(1, 20)

    rjg = 0

    if fh == 0:

        rjg = n1 + n2

    elif fh == 1:

        n1, n2 = max(n1, n2), min(n1, n2)  #减法排除负数结果干扰

        rjg = n1 - n2

    elif fh == 2:

        rjg = n1 * n2

    elif fh == 3:

        n1, n2 = max(n1, n2), min(n1, n2) 

        while n1 % n2 != 0:

            n1 = random.randint(1, 10)

            n2 = random.randint(1, 10)

            n1, n2 = max(n1, n2), min(n1, n2)  #除法不出现余数

        rjg = int(n1 / n2)

    print(n1, opr[fh], n2, '= ', end='')

    return rjg

真分数函数除调用fractions 外与四则运算相似

7)测试运行:

猜你喜欢

转载自www.cnblogs.com/jigxn/p/10555994.html