自动生成小学四则运算题目

Gitee的源代码:https://github.com/a102993675/-/blob/master/sizeyunsuan

1、具体要求如下:

       1.能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)

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

2、工具列表:

  • 编程IDE:Visual Studio Code
  • 编程语言:Python
  • 效能分析工具:Python自带分析库cProfile
  • 源代码托管平台:Github

3、实现思路

  1)生成随机数

  2)生成随机算数运算符

  3)生成整个表达式

  4)确定生成题目数量

  5)用户输入答案

  6)输出正确答案

 

4、 代码:

def result(s,n1,n2):
    if s == '+':
        print('{} + {} = {}'.format(n1,n2,n1 + n2))
    elif s == '-':
        print('{} - {} = {}'.format(n1,n2,n1 - n2))
    elif s == '*':
        print('{} * {} = {}'.format(n1,n2,n1 * n2))
    elif s == '/':
        if n2 == 0:
            print('***除数不能为零***')
        else:
            print('{} / {} = {}'.format(n1,n2,n1 / n2))
    else:
        print('输入有误,请重新输入!')
复制代码
复制代码
def zsResult():
    qes = int(input())
    for a in range(qes):
        rsign = random.choice(['+','-','*','/'])  
        rnum1 = random.randint(0,100)
        rnum2 = random.randint(0,100)
        if rnum1 < rnum2:
            rnum1 = max(rnum1, rnum2)
            rnum2 = min(rnum1, rnum2)
            result(rsign,rnum1,rnum2)
        else:
            result(rsign,rnum1,rnum2)
复制代码
复制代码
def zfsResult():
    qes = int(input())
    for b in range(qes):
        rsign = random.choice(['+','-','*','/'])  
        snum1 = random.randint(0,100)
        mnum1 = random.randint(1,100)
        zfs1 = Fraction(snum1, mnum1)
        snum2 = random.randint(1,100)
        mnum2 = random.randint(1,100)
        zfs2 = Fraction(snum2, mnum2)
        if zfs1 < zfs2:
            zfs1 = max(zfs1, zfs2)
            zfs2 = min(zfs1, zfs2)
            result(rsign,zfs1,zfs2)
        else:
result(rsign,zfs1,zfs2

5、测试运行:

 

 

六、效能分析

 

posted @ 2020-09-26 09:41  布德  阅读(125)  评论(0编辑  收藏  举报