zoukankan      html  css  js  c++  java
  • 四则运算

    首先,PSP表格如下:

    github地址如下:

    https://github.com/zzq666/Test

    #-*-coding:utf-8-*-
    import profile
    from fractions import Fraction
    import random
    def count():
    n = random.randint(1,2)
    if n == 1:
    x = ['+','-','*','÷']
    i = random.randint(1,100)
    j = random.choice(x)
    k = random.randint(1,100)
    if j == '+':
    answer = i + k
    print(i, j, k, '=')
    elif j == '-':
    i1 = max(i,k)
    k1 = min(i,k)
    answer = i1 - k1
    print(i1, j, k1, '=')
    elif j == '*':
    answer = i * k
    print(i, j, k, '=')
    elif j == '÷':
    answer = i / k
    print(i, j, k, '=')
    print('答案为:'+str(answer))
    elif n == 2:
    y = ['+', '-', '*', '÷']
    a = random.randint(1,100)
    b = random.randint(1,100)
    c = random.randint(1,100)
    d = random.randint(1,100)
    a1 = min(a,b)
    b1 = max(a,b)
    c1 = min(c,d)
    d1 = max(c,d)
    z = random.choice(y)
    if z == '+':
    ans = Fraction(a1, b1) + Fraction(c1, d1)
    print('(', a1, '/', b1, ')', z, '(', c1, '/', d1, ')', '=')
    elif z == '-':
    big = max(Fraction(a1, b1),Fraction(c1, d1))
    small = min(Fraction(a1, b1),Fraction(c1, d1))
    ans = big - small
    print('(',big,')',z,'(',small,')')
    elif z == '*':
    ans = Fraction(a1, b1) * Fraction(c1, d1)
    print('(', a1, '/', b1, ')', z, '(', c1, '/', d1, ')', '=')
    elif z == '÷':
    ans = Fraction(a1, b1) / Fraction(c1, d1)
    print('(', a1, '/', b1, ')', z, '(', c1, '/', d1, ')', '=')
    print('答案为:' + str(ans))
    profile.run('count()')
      关于实现这个四则运算的过程,我是把整数和分数分开生成,考虑到随机生成,所以是通过抽取1或2,来进行接下来的步骤。
      当随机抽取到1的时候,则从1到100中间随机抽取2个数,并且考虑到小学生不认识负数,所以一定会把抽取到的较大的数作为减数,较小的数作为被减数。
    生成整数之间的加减乘除效果如下:

      当抽取到2的时候,进入真分数加减乘除,考虑到不能生成假分数,则分母要求大于分子,与被减数和减数的关系类似,一定把大的数赋予给分母

    而小的数一定赋予给分子,这样就避免了出现假分数,而减式避免出现负数的过程与之同理,当随机生成分数加减乘除时,结果如下:

      效能分析通过profile.run('count()')得出结果。




  • 相关阅读:
    laravel的验证码
    laravel的中间件
    laravel的基本使用
    laravel的路由
    layui上传文件的choose只触发一次
    宝塔访问站点上一级目录
    orcale的几个查询
    tree的递归,适合与el-tree
    GIT 命令大全
    Oracle 时间戳与日期的转换
  • 原文地址:https://www.cnblogs.com/xizhu/p/8870559.html
Copyright © 2011-2022 走看看