ICode9

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

四则运算

2021-09-21 22:02:00  阅读:146  来源: 互联网

标签:random randint 四则运算 re n1 n2 100


任务需求:

1.输入一个数n,能生成n道四则运算的题目

2.题目较为简单,数字在1-100之间

 

 

思路

分为三个部分,函数oprint()用于生成整数算式

def oprint():#整数四则运算
    opr = ['+', '-', '×', '÷']
    j = random.randint(0, 3)
    n1 = random.randint(0, 100)
    n2 = random.randint(0, 100)
    re = 0
    if j == 0:
        re = n1 + n2
    elif j == 1:
        n1, n2 = max(n1, n2), min(n1, n2)
        re = n1 - n2
    elif j == 2:
        re = n1 * n2
    elif j == 3:
        n1, n2 = max(n1, n2), min(n1, n2)
        while n1 % n2 != 0:
            n1 = random.randint(0, 100)
            n2 = random.randint(0, 100)
            n1, n2 = max(n1, n2), min(n1, n2)
        re = int(n1 / n2)
    print(n1, opr[j], n2, '= ', end='')
    return re

 

函数oprfra()用于生成分数算式

def oprfra():
    opr = ['+', '-', '×', '÷']
    j = random.randint(0, 3)
    t1 = random.randint(1, 100)
    t2 = random.randint(t1, 100)
    n1 = Fraction(t1, t2)
    t1 = random.randint(1, 100)
    t2 = random.randint(t1, 100)
    n2 = Fraction(t1, t2)
    re = 0
    if j == 0:
        re = n1 + n2
    elif j == 1:
        n1, n2 = max(n1, n2), min(n1, n2)
        re = n1 - n2
    elif j == 2:
        re = n1 * n2
    elif j == 3:
        n1, n2 = max(n1, n2), min(n1, n2)
        re = n1 / n2
    print(n1, opr[j], n2, '= ', end='')
    return re

 

函数test()用于生成题目及答案

def test():
    opr = ['+', '-', '×', '÷']
    print('输入题库所需要的题目数量')
    n=int(input())
    re=[]
    m=0
    while m<=(n-1):
        j = random.randint(0, 1)
        if j==0:
            print(m+1,end='、')
            re.append(oprfra())
            print(' ')
        else:
            print(m+1,end='、')
            re.append(oprint())
            print(' ')
        m=m+1
    m=0
    print('答案:')
    while m<=(n-1):
        print(m+1,'、',re[m])
        m=m+1
test()

 

运行结果:

 还能改进的地方

1.能作答,作答后判断正误并给出答案

2.整数和分数能同时计算

3.能计算括号

 

PSP

内容 预估耗时(分钟) 实际耗时(分钟)
估计这个任务需要多长时间 120 160
需求分析 10 10
生成设计文档 / /
设计复审 / /
代码规范 / /
具体设计 100 100
代码复审 20 20
测试 10 10
测试报告 10 10
计算工作量 5 5
事后总结,并提出过程改进计划 5 5

标签:random,randint,四则运算,re,n1,n2,100
来源: https://www.cnblogs.com/lulingboke/p/15317975.html

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

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

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

ICode9版权所有