自动生成小学四则运算题目——软件工程
源代码已上传至Gitee,https://gitee.com/jiayouu/codes/drqokpaf1v953hesybx6092
一、题目:
1) 能自动生成小学四则运算题目,并且不能出现负数;
2) 能支持真分数的四则运算;
二、功能设计:
实现四则运算题目和答案的生成,对生成的四则运算题目进行查重,支持对提供的题目进行查重和答案求解并给出正确错误及题目重复的结果。
三、实现思路:
1)生成随机数
2)生成随机算数运算符
3)生成整个表达式
4)确定生成题目数量
5)用户输入答案
6)输出正确答案
四、代码
1)生成算式
import random def FourFundamental(): lists = ['+', '-', '×', '÷'] #运算符 f=random.randint(0, 3) f1=random.randint(1, 20) f2=random.randint(1, 20) if f== 0: #加法 result = f1 + f2 elif f == 1: #减法 f1, f2 = max(f1, f2), min(f1, f2) #比较大小,防止输出负数 result = f1 - f2 elif f== 2: #乘法 result = f1 * f2 elif f == 3: #除法 result = f1/f2 print(f1, lists[f], f2,end="") return result
2)获取用户输入,并抛出正确答案
def init(): n=int(input("请输入需要生成的题目数量:")) result=[0]*1000 answer=[0]*1000 for i in range(n): print("第",i+1,"题:") result[i]=FourFundamental() answer[i]=input("请输入你的答案:") print("\033[1;35m正确答案是:\033[0m",result[i]) #正确答案用紫色显示出来
3)运行
init()
五、测试运行
六、效能分析
七、PSP表格
预计耗时(分钟) | 实际耗时(分钟) | ||
Planning | 计划 | 15 | 10 |
Estimate | 估计这个任务需要多少时间 | 8 | 8 |
Development | 开发 | 120 | 240 |
Analysis | 需求分析 | 5 | 10 |
Design Spec | 生成设计文档 | / | / |
Design Review | 设计复审(和同事审核设计文档) | / | / |
Coding Standerd | 代码规范(为目前的开发制定合适的规范) | / | / |
Design | 具体设计 | 5 | 10 |
Coding | 具体编码 | 30 | 60 |
Code Review | 代码复审 | 5 | 10 |
Text | 测试(自测,修改代码,提交修改) | 10 | 30 |
Reporting | 报告 | 10 | 20 |
Text Report | 测试报告 | 10 | 20 |
Size Measurement | 计算工作量 | 5 | 5 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 5 | 5 |
Sum | 合计 | 220 | 428 |