zoukankan      html  css  js  c++  java
  • 自动生成小学生四则运算题目

    代码管理:

       代码已上传至gitee: https://gitee.com/above-the-clouds/codes/zdle4jqca2sf0tmw1xoip79

     一、题目要求

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

    2、支持整数四则运算

    3、支持真分数四则运算

     

    二、解题思路

      先思考题目的具体要求是什么,理清题目的要求是:设计小学生的四则运算题目。然后到底是几个数之间的运算呢?这里我先从简单的开始,规定是两个之间的运算。既然是小学生那么就不会出现负数,所以是减法运算时就要用大的数减去小的数,并规定数的范围是在1-100之间。

     

    三、设计实现

    规定:1、规定为两个数之间的四则运算

          2、两个数范围在1-100之间

    设计:

      1、生成两个随机数 createTwoNumber()

      2、随机选择运算符 chooseOperator(),并计算结果

      3、输入你的结果,并与计算机结果做对比,输出结果 result()

            若正确则输出:恭喜你答对啦 ! ! !

          若错误则输出:很遗憾你答错了!正确答案是:(正确答案)

     

    四、代码

     1 import random
     2 
     3 class yunSuan:    
     4     def createTwoNumber(self):  #生成两个随机数
     5         self.numberOne=random.randint(1,100)
     6         self.numberTwo=random.randint(1,100)
     7             
     8             
     9     def chooseOperator(self):     #随机选择运算符,并计算结果
    10         self.operator=random.choice("+-*/")  #选择运算符
    11         if self.operator=="+":    #加法
    12             self.answer=self.numberOne + self.numberTwo
    13             return self.answer
    14         elif self.operator=="-":    #减法
    15             if self.numberOne < self.numberTwo:  #小的数在前,防止答案为负数
    16                 temp=self.numberOne
    17                 self.numberOne=self.numberTwo
    18                 self.numberTwo=temp
    19             self.answer=self.numberOne - self.numberTwo
    20             return self.answer
    21         elif self.operator=="*":    #乘法
    22             self.answer=self.numberOne * self.numberTwo
    23             return self.answer
    24         elif self.operator=="/":    #除法
    25             an=self.numberOne / self.numberTwo
    26             self.answer=round(an)
    27             return self.answer
    28         
    29     
    30     def result(self):  #输出结果
    31         print("题目:",self.numberOne,self.operator,self.numberTwo,"=")  #输出题目
    32         self.yourAnswer=input("请输入你的答案:")  #输入你的答案
    33         if int(self.yourAnswer)==int(self.answer):  #若答案正确
    34             print("恭喜你答对啦! ! !")
    35         else:    #若答案错误
    36             print("很遗憾你答错了!正确答案是: {:.2f}".format(self.answer))
    37  
    38 
    39      
    40 if __name__ == "__main__":   #运行
    41     i=0
    42     numOfQuestion=int(input("生成的题目的数量:"))  #输入题目的题数
    43     for i in range(numOfQuestion):
    44         print("",i+1,"题: ")
    45         num=yunSuan()
    46         num.createTwoNumber()
    47         num.chooseOperator()
    48         num.result()
    49             

     

    五、运行

     

    六、性能测试

     

      

    七、PSP表格

     PSP  personal Software Process Tages 预估耗时(分钟)  实际耗时(分钟) 
     Planning 计划   25 15
     Estimate 估计这个任务需要多少时间  10  8
     Development 开发  15 11 
    Analysis   需求分析 10 
    Design Spec  生成设计文档 15 20
    Design Review  设计复审(审核设计文档)  5
    Coding Standerd  代码规范(为目前的开发制定合适的规范)    3
     Design  具体设计 15  20 
    Coding  具体编码  120 360
    Code Review   代码复审  60 94 
     Text  测试(自测,修改代码,提交修改) 30  43 
     Reporting  报告 25   34
    Text Report  测试报告 6 8
     Size Measurement 计算工作量  3
     Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 20  28 
    Sum  合计 364 482

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Java [Leetcode 319]Bulb Switcher
    Java [Leetcode 122]Best Time to Buy and Sell Stock II
    谱聚类算法
    Java [Leetcode 238]Product of Array Except Self
    Java [Leetcode 260]Single Number III
    X++ StrFix方法
    D365 FO第三方访问https证书问题
    D365 FO 使用.NET DLL
    D365 FO第三方集成(四)---客户端调用
    D365 FO第三方集成(三)---服务实现
  • 原文地址:https://www.cnblogs.com/sun0618-/p/13703581.html
Copyright © 2011-2022 走看看