小学四则运算题_四年级四则运算100题及答案[通俗易懂]

小学四则运算题_四年级四则运算100题及答案[通俗易懂]Python四则运算GitHub项目地址:https://github.com/rekosama/-/commit/230e563197c9d6cee3d04e8fc2efa8156c3533d9题目:(1)能自动生成小学四则运算题目,并且不能出现负数;(2)能支持真分数的四则运算;思路:

大家好,欢迎来到IT知识分享网。

Python四则运算

GitHub项目地址:https://github.com/rekosama/-/commit/230e563197c9d6cee3d04e8fc2efa8156c3533d9

 

题目:

  1)能自动生成小学四则运算题目,并且不能出现负数;

  (2)能支持真分数的四则运算;

思路:

1)四则运算加减乘除,采用两个随机数,由于不能出现负数,则对两个随机数进行比较大小再进行减法运算,除法一向特殊,所以在随机数的取值范围中设置不包括0。另外,整数类型除法中两数相除不能出现无限循环小数,故需要对除法做限制。

(2)真分数运算在pycharm中导入fractions库,其余类似。

(3)题库的生成,由于其随机性需要导入random函数。

 

实现过程:

 设计三个函数:

 1newint() 生成整数四则运算

 2newfra() 生成真分数四则运算

 3newtest() 生成制定指定数量的四则运算题目

 

函数关系:

  newint()与newfra()为独立的函数,负责生成随机四则运算,newtest()则随机调用上述两个函数生成题目。

 

代码说明:

 1 from fractions import Fraction   #fraction:分数,即在此导入分数模块
 2 import random      #用于随机生成题目
 3 
 4 #整数四则运算
 5 def newint():  6     fh = ['', '', '×', '÷']  7     k = random.randint(0, 3)  #随机生成0到3内的整数,用于fh的下标
 8     n1 = random.randint(0, 100)  9     n2 = random.randint(0, 100)  10     result = 0   #存运算结果
 11     if k == 0:  12         result = n1 + n2  13     elif k == 1:  14         n1, n2 = max(n1, n2), min(n1, n2)  15         result = n1 - n2  16     elif k == 2:  17         result = n1 * n2  18     elif k == 3:  19         while n2 == 0 or float(n1/n2)*1000%10!=0:  #分母不能为0,运算结果控制在2位小数内。
 20             n1 = random.randint(0, 100)  21             n2 = random.randint(0, 100)  22         result = float(n1 / n2)  23     print(n1, fh[k], n2, '= ', end='')  24     return result  25 
 26 #分数四则运算
 27 def newfra():  28     fh = ['', '', '×', '÷']  29     k = random.randint(0, 3)  30     t1 = random.randint(1,20)  31     t2 = random.randint(t1, 20)  #做分母,控制为真分数
 32     n1 = Fraction(t1, t2)   #即表示n1为分数
 33     t1 = random.randint(1, 20)  34     t2 = random.randint(t1, 20)  35     n2 = Fraction(t1, t2)  36     result = 0  37     if k == 0:  38         result = n1 + n2  39     elif k == 1:  40         n1, n2 = max(n1, n2), min(n1, n2)  41         result = n1 - n2  42     elif k == 2:  43         result = n1 * n2  44     elif k == 3:  45         result = n1 / n2  46     print(n1, fh[k], n2, '= ', end='')  47     return result  48 
 49 #newtest()函数是要求用户输入一个整数来输出算式的数量,采用while循环随机生成整数或者真分数运算,
 50 # 将答案保存在result列表的同时输出算式直到算式数量达到要求。最后输出result列表即输出答案。
 51 def newtest():  52     fh = ['', '', '×', '÷']  53     print('输入题库所需要的题目数量')  54     n=int(input())  55     result=[]  56     m=0  57     while m<=(n-1):  58         k = random.randint(0, 4)  59         if k==0:  60             print(m+1,end='')  61  result.append(newfra())  62             print(' ')  63         else:  64             print(m+1,end='')  65  result.append(newint())  66             print(' ')  67         m=m+1
 68     m=0  69     print('答案:')  70     while m<=(n-1):  71         print(m+1,'',result[m])  72         m=m+1
 73 
 74 #下列为主函数,第一个模式负责调用上述newint()、new函数,
 75 # 并获得函数返回值即算式答案,与用户输入值进行比较。第二个模式则是生成算式题目。
 76 print('请选择需要进行的操作(输入数字代号)')  77 print('1、四则运算')  78 print('2、制作题库')  79 n=int(input())  80 if n==1:  81     print('input "exit" to Quit')  82     while True:  83         k = random.randint(0, 1)  #0表示真分数的运算,1表示整数的运算
 84         if k == 0:  85             result = newfra()  86             jg = input()  87             if jg == 'exit':  88                 break;  89             sr = Fraction(jg)  #化为分数形式
 90             if sr == result: #检测输入(sr)的答案与正确答案是否一致
 91                 print('right')  92             else:  93                 print('error. the Tight answer is', result)  94         else:  95             result = newint()  96             jg = input()  97             if jg == 'exit':  98                 break;  99             sr = float(jg) 100             if sr == result: 101                 print('right') 102             else: 103                 print('error. the Tight answer is', result) 104 if n==2: 105     newtest()

 

运行效果

1四则运算效果

   小学四则运算题_四年级四则运算100题及答案[通俗易懂]小学四则运算题_四年级四则运算100题及答案[通俗易懂]

 

 

(2)制作题库效果

 小学四则运算题_四年级四则运算100题及答案[通俗易懂]

 

 

效能分析:

 小学四则运算题_四年级四则运算100题及答案[通俗易懂]

小学四则运算题_四年级四则运算100题及答案[通俗易懂]

 

 

 

 

PSP表格:

 

 

预计耗时(分钟)

是实际耗时(分钟)

Planning

计划

25

20

Estimate

估计这个任务需要多少时间

/

/

Development

开发

120

240

Analysis

需求分析

10

10

Design Spec

生成设计文档

/

/

Design Review

设计复审(和同事审核设计文档)

/

/

Coding Standerd

代码规范(为目前的开发制定合适的规范)

/

/

Design

具体设计

5

10

Coding

具体编码

70

90

Code Review

代码复审

5

10

Text

测试(自测,修改代码,提交修改)

20

30

Reporting

报告

10

20

Text Report

测试报告

10

20

Size Measurement

计算工作量

5

5

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

10

5

Sum

合计

300

460

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29446.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信