GitHub项目地址:https://github.com/75-Hz/RJ-Project.git
PSP表格:
| 
 PSP2.1  | 
 Personal Software Process Stages  | 
 预估耗时(分钟)  | 
 实际耗时(分钟)  | 
| 
 Planning  | 
 计划  | 
 30  | 
 40  | 
| 
 Estimate  | 
 估计这个任务需要多少时间  | 
 /  | 
 /  | 
| 
 Development  | 
 开发  | 
 150  | 
 210  | 
| 
 Analysis  | 
 需求分析 (包括学习新技术)  | 
 45  | 
 60  | 
| 
 Design Spec  | 
 生成设计文档  | 
 /  | 
 /  | 
| 
 Design Review  | 
 设计复审 (和同事审核设计文档)  | 
 /  | 
 /  | 
| 
 Coding Standard  | 
 代码规范 (为目前的开发制定合适的规范)  | 
 /  | 
 /  | 
| 
 Design  | 
 具体设计  | 
 10  | 
 15  | 
| 
 Coding  | 
 具体编码  | 
 30  | 
 45  | 
| 
 Code Review  | 
 代码复审  | 
 10  | 
 15  | 
| 
 Test  | 
 测试(自我测试,修改代码,提交修改)  | 
 30  | 
 45  | 
| 
 Reporting  | 
 报告  | 
 15  | 
 15  | 
| 
 Test Report  | 
 测试报告  | 
 10  | 
 15  | 
| 
 Size Measurement  | 
 计算工作量  | 
 5  | 
 7  | 
| 
 Postmortem & Process Improvement Plan  | 
 事后总结, 并提出过程改进计划  | 
 10  | 
 10  | 
| 
 合计  | 
 
  | 
 345  | 
 477  | 
思路:
随机生成数与符号组成算式,其中随机数与答案不得是负数,分母不可为0。
在计算出答案与输入的数进行比较,正确与否反馈给学生。
实现过程:
定义函数:count(),随机生成算式;
判断对错:输入的结果与key比较,相同则是“right”,不符则为“error”,并给出正确答案。
代码:
import profile import random #四则运算 def count(): sign = ['+', '-', '×', '÷'] f = random.randint(0, 3) n1 = random.randint(1, 20) n2 = random.randint(1, 20) key = 0 if f == 0:#加法 key = n1 + n2 elif f == 1:#减法,要先比较大小,防止输出负数 n1, n2 = max(n1, n2), min(n1, n2) key = n1 - n2 elif f == 2:#乘法 key = n1 * n2 elif f == 3:#除法,分母不可以为0 n1, n2 = max(n1, n2), min(n1, n2) while n1 % n2 != 0: n1 = random.randint(1, 10) n2 = random.randint(1, 10) n1, n2 = max(n1, n2), min(n1, n2) key = int(n1 / n2) print(n1, sign[f], n2, '= ', end='') return key print('小学四则运算') print('输入‘1’测试效能,输入‘2’开始') n = int(input()) #当输入1时,测试效能 if n==1: profile.run('count()') #当输入2时,开始运算 if n==2: while True: key = count() j = input() s = int(j) if s == key : print('right') else: print('error.,the answer is',key)
测试运行结果:

效能分析结果:

小结:
这次的四则运算的编程设计,让我知道拿到一个题目不是直接就开始打代码,而是要现在大脑进行思考、设计题目解答流程与其所需的实现方法,再进行编程,这会带来事半功倍的效果。
由于我学艺不精,暂时只做出整数的四则运算,除法得出真分数与分数间的四则运算并没有完成。期待之后可以完善这个“四则运算”。
                    
                
                
            
        
浙公网安备 33010602011771号