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