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

代码管理:

   代码已上传至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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-09-21 09:25  景行行止0618  阅读(265)  评论(0编辑  收藏  举报