生产小学一年级上算术复习题的程序

小学一年级上学期的算术,主要是20以内的加减法,具体有以下几种情况,例如:

( ) + 6 = 18
17 - 15 =
18 - ( ) = 14

先说下思路:
       上面的这个数据运算表达式 我们可以通过一个列表来存储
例如8+7=15 就存储为[8,'+',7,'=',15],那么得到这个列表后,我们随机吧这个列表中的数字变成要填的空 就可以啦。

       首先第一步得到只有数字的列表:在1~19 范围内随机抽取 表达式的第一个数,然后在-19~19 范围内随机抽取表达式的第二个数,两个数相加的结果作为表达式的第三个数。并且有一个条件就是两个数相加的结果要大于等于0小于20
例如:[15,-7,8] 。这个非常简单就可以实现

        然后要做的就是把 [15,-7,8] 这个列表变成[15,'-',7,'=',8]
这儿的算法实际上是 [15] + ['-',7] + ['=',8],也就是说中间的数都要变成一个符号和数的绝对值。

list[-1]表示取最后一个数,list[1:-1]表示取从第二个开始倒数第二个结束的范围的列表。

        现在我们得到带符号的列表了:[15,'-',7,'=',8],只需要把这个列表中的随机一个数字作为要填的空就可以了,如果是要填写结果,就不用加括号了。

        最后一步,从给定种子数里面产生题目

        总结:函数式编程思想的套路就是以问题为中心,根据问题设计解决问题的算法。而不用吧注意力关注到算法的如何实现上,编程语言基本上都已经实现了这些算法了。

源代码在这儿https://gitee.com/zxbyh/python/blob/master/fp/shuxueti02-1.py

你可能感兴趣的:(生产小学一年级上算术复习题的程序)