• 超简单的四则运算效能分析


    超简单的四则运算效能分析

    psp表格

    解题思路及设计过程

    题目要求:随机自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
    解题思路:这次作业重点在效能分析,故只考虑最简单的情况,将题目分为几个函数来实现:
    (1)随机生成表达式函数(getEquation):利用python自带的random库的random.randint随机生成09的整数作为表达式数字、随机生成14的整数代表运算符。
    (2)匹配运算符函数(choose):随机生成1~4的整数分别代表:+ 、- 、* 、/ 四个运算符,利用匹配函数得到运算符。
    (3)测试函数(test):取不同数量的样例,利用python的time库对运行时间进行分析

    代码说明

    import random
    import time
    def getEquation(): # 生成表达式
    equation = ""
    opration = ""
    number = 0
    number = random.randint(1,9)
    equation += str(number) # 将数字放进式子里
    opration = choose(random.randint(1,4)) # 随机生成符号+ - * ÷
    equation += opration # 将符号放进式子里
    answer = number
    if opration"÷": # 分母不为0
    number = random.randint(1,9)
    answer /= number
    elif opration
    "+":
    answer += number
    number = random.randint(0,9) # 随机生成0~9
    elif opration"-":
    answer -= number
    number = random.randint(0,9) # 随机生成0~9
    elif opration
    "*":
    answer = number
    number = random.randint(0,9) # 随机生成0~9
    equation += str(number) # 将数字放进式子里
    equation += '=' # 将=放进式子里
    print(equation)
    return answer
    def choose(n): # 匹配符号
    if n1:
    return "+"
    elif n
    2:
    return "-"
    elif n==3:
    return "
    "
    elif n==4:
    return "÷"
    def test():# 测试函数
    for i in range(10000):
    answer = getEquation()
    start_time = time.time()
    test() # 待测试的函数
    end_time = time.time()
    print ('time cost:' ,str(end_time - start_time))

    测试运行

    测试10万个例子,用时:1.98s

    下图是用pycharm的profile做的单元测试,由于代码比较简单,只有一个主要函数,所以结果为:getEquation函数占用绝大部分耗时(98.2%)choose函数占用0.9%的耗时。

  • 相关阅读:
    强大的C#图形处理组件
    Spring整合Mybatis的注意事项
    Umbraco常见陷阱与错误模式
    Umbraco 官网阅读理解
    Umbraco模型默认属性
    无缝隙滚动跑马灯组件
    这才是正确删除 office 的方式
    SVN利用Hooks自动发布网站
    Umbraco安装权限问题
    EPiServer网文
  • 原文地址:https://www.cnblogs.com/Rainy-He/p/8882229.html
Copyright © 2020-2023  润新知