100以内的加减法

最近也是因为自家娃手头上的算术题做完了,还没来得及补充弹药,就想着说在网上找一些网友们的分享,20以内、50以内或者100以内的加减法都可以,毕竟不是知网上那些高端论文,总觉着会有很多免费的文档可以下载吧,打印一些便可。谁知现实比想象残酷很多,不知道是因为自己的搜索水平不行,还是因为网友们的知识付费意识太强,基本上的文档下载都是需要付费的,除非自己手动抄写。也不是说这样做不对,只是觉得我们的学术门槛能不能设的再高一点,哈哈哈!没办法,总不能真用手一题题抄下来,主要是有些题目的质量真的不咋滴。

就在眉头紧锁的那一刻,突然想到自己不是在学Python吗,此时不用更待何时,于是乎敲出了下面的代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import random

def count(num_range, amount):
    
    formulas = ''
    count_temp = 0
    
    while True:
        a = random.randrange(1, num_range)
        b = random.randrange(2, num_range + 1)
        c = b - a
        
        if c > 0:
            frm = str(a+1) + ' + ' + str(abs(c)) + ' =          ' + str(b) + ' - ' + str(a) + ' =          '\
            + str(abs(c)+1) + ' + ' + str(b) + ' =          ' + str(b) + ' - ' + str(abs(c)) + ' = \n'
            formulas += frm
            count_temp += 1
            print(frm)
        elif c < 0:
            frm = str(a+1) + ' + ' + str(abs(c)) + ' =          ' + str(a) + ' - ' + str(b) + ' =          '\
            + str(abs(c)+1) + ' + ' + str(b) + ' =          ' + str(a) + ' - ' + str(abs(c)) + ' = \n'
            formulas += frm
            count_temp += 1
            print(frm)
        
        if count_temp >= amount:
            break
        
    return formulas
        
def main():
    num_range, amount = 20, 25
    q = count(num_range, amount)
    frm_title = '%d以内加减法算术题%d道.txt' % (num_range, amount*4)
    with open(frm_title, 'w') as f:
        f.write(q)
    f.close()
    
if __name__ == '__main__':
    main()

怎么说,还是花了点时间的,基本能满足想要的需求,num_range, amount = 20, 25可以自定义是多少以内的加减法,还有题目的数量,先用着,后续有新的想法再优化。

发表回复

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