【天怒人怨爸爸系列】一年级数学口算题生成程序

import random

plusList = []
subList = []

for i in range (1, 100):
    j = 1
    while i + j <= 100:
        plusList.append("{} + {} = ".format(i,j))
        j = j + 1

print("已生成{}个加法".format(len(plusList)))

for i in range (1, 100):
    for j in range (1, 10):
        if (i >= j):
            subList.append("{} - {} = ".format(i,j))

    for j in [10, 20, 30, 40, 50, 60, 70, 80, 90]:
        if (i >= j):
            subList.append("{} - {} = ".format(i,j))

print("已生成{}个减法".format(len(subList)))


quesSet = set()
for i in range(1, 51):
    qno = 0
    print("开始生成第{}张题目".format(i))
    outFile = open("口算{}.txt".format(i), "w+")
    
    j = 0
    quesSet.clear()
    while j < 70:
        idx = random.randint(0, len(plusList))
        if idx not in quesSet and idx < len(plusList):
            quesSet.add(idx)
            if (qno % 4) == 0:
                outFile.write("\n\n")
            outFile.write(plusList[idx])
            for x in range(1, 20 - len(plusList[idx])):
                outFile.write(" ")
            j = j + 1
            qno = qno +1
        

    j = 0
    quesSet.clear()
    while j < 30:
        idx = random.randint(0, len(subList))
        if idx not in quesSet and idx < len(subList):
            quesSet.add(idx)
            if (qno % 4) == 0:
                outFile.write("\n\n")
            outFile.write(subList[idx])
            for x in range(1, 20 - len(subList[idx])):
                outFile.write(" ")               
            j = j + 1
            qno = qno +1
            
        
    outFile.close()

print("题目生成完毕")

生成100以内的两个加数的加法,有借位的减数是一位数的减法,减数是整10的减法。生成50套口算题,一套100道题。打印出来够孩子暑假用了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值