首页 > 编程语言 > 详细

Python 自动生成小学四则运算题

时间:2020-09-21 16:42:20      阅读:48      评论:0      收藏:0      [点我收藏+]

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)
 

 

测试运行结果:

技术分享图片

效能分析结果:

技术分享图片

小结:

这次的四则运算的编程设计,让我知道拿到一个题目不是直接就开始打代码,而是要现在大脑进行思考、设计题目解答流程与其所需的实现方法,再进行编程,这会带来事半功倍的效果。

由于我学艺不精,暂时只做出整数的四则运算,除法得出真分数与分数间的四则运算并没有完成。期待之后可以完善这个“四则运算”。

Python 自动生成小学四则运算题

原文:https://www.cnblogs.com/hjy567jiayouya/p/13705049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!