_amao

导航

自动生成小学四则运算题目——软件工程

源代码已上传至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

 

 

 

 

 

posted on 2020-09-20 20:08  _amao  阅读(166)  评论(0编辑  收藏  举报