代码管理:
代码已上传至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 | 8 |
Design Spec | 生成设计文档 | 15 | 20 |
Design Review | 设计复审(审核设计文档) | 5 | 5 |
Coding Standerd | 代码规范(为目前的开发制定合适的规范) | 3 | 5 |
Design | 具体设计 | 15 | 20 |
Coding | 具体编码 | 120 | 360 |
Code Review | 代码复审 | 60 | 94 |
Text | 测试(自测,修改代码,提交修改) | 30 | 43 |
Reporting | 报告 | 25 | 34 |
Text Report | 测试报告 | 6 | 8 |
Size Measurement | 计算工作量 | 5 | 3 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 20 | 28 |
Sum | 合计 | 364 | 482 |