四则运算的实现
一、GitHub项目地址:https://github.com/superdizi/-1/blob/master/%E5%9B%9B%E5%88%99%E8%BF%90%E7%AE%97
二、psp
|
PSP |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
|
Planning |
计划 |
15 |
25 |
|
Estimate |
估计这个任务需要多少时间 |
15 |
25 |
|
Development |
开发 |
300 |
400 |
|
Analysis |
需求分析 (包括学习新技术) |
30 |
45 |
|
Design Spec |
生成设计文档 |
30 |
30 |
|
Design Review |
设计复审 (和同事审核设计文档) |
15 |
10 |
|
Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
15 |
10 |
|
Design |
具体设计 |
30 |
35 |
|
Coding |
具体编码 |
60 |
180 |
|
Code Review |
代码复审 |
30 |
20 |
|
Test |
测试(自我测试,修改代码,提交修改) |
40 |
65 |
|
Reporting |
报告 |
85 |
60 |
|
Test Report |
测试报告 |
30 |
25 |
|
Size Measurement |
计算工作量 |
30 |
10 |
|
Postmortem & Process Improvement Plan |
事后总结, 并提出过程改进计划 |
25 |
25 |
|
合计 |
|
400 |
485 |
三、解题思路描述
1、算式的可视化 2、算式的计算及判断
先以构建获得整数,分数,符号的函数
通过random获得随机数以自动获得不同的数与运算符
将算式计算得到答案,并将运算符与数字拼接让算式可视化
4. 设计实现过程
| 函数 | 说明 | |
| 1 |
integer
|
返回随机整数 |
| 2 |
score
|
返回随机分数 |
|
3 |
conc |
连接符号与数字并计算,输出算式 返回算式答案 |
5. 代码示例
def integer(n): return random.randint(1,n) def score(n): num1=random.randint(1,n) num2=random.randint(1,n) return Fraction(min(num1,num2),max(num1,num2)) def conc(n,x): if x==0: f=random.randint(0,3) num1=integer(n) num2=integer(n) if f==0: result=num1+num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result if f==1: result=num1-num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result if f==2: result=num1*num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result if f==3: result=num1/num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result else: f=random.randint(0,3) num1=score(n) num2=score(n) if f==0: result=num1+num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result if f==1: result=num1-num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result if f==2: result=num1*num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result if f==3: result=num1/num2 rand=operation[f] print("题目:") print(str(num1)+rand+str(num2)) return result
6、运行实例
print("请输入题目最大数max")
print("max=")
m=int(input())
print("输入0表示整数题目,输入1表示分数题目")
print("x=")
x=int(input())
while True:
answer=conc(m,x)
print("请输入答案=")
uanswer=eval(input())
if uanswer==answer:
print("正确")
else:
print("错误")
print("输入y再来一题,输入n退出")
cont=str(input())
if cont=='y':
continue
if cont=='n':
break

七、性能测试

浙公网安备 33010602011771号