100以内加减法混合出题 进位加法 && 退位减法

100以内加减法混合出题
进位加法 && 退位减法

'''

100以内加减法混合出题
进位加法 && 退位减法
Author: 
Date: 
'''

import random
exp1,exp2 = '',''
str1,str2 = '',''
start = 15
j = 1

# count = int(input('Input question number:\n'))
count = 100 #63
while j < count:
    print("-while----j------",j)
    if j < count:
        flag1 = random.choice(['+','-'])
        flag2 = random.choice(['+','-'])
        a = random.randint(start,100)
        b = random.randint(start,100)
        c = random.randint(start,100)
        print("-----flag1,flag2------",flag1,flag2)
        yua = a % 10
        yub = b % 10
        yuc = c % 10
        if flag1 == '+' and flag2 == '+' :
            result1 = a + b
            result2 = result1 + c
            yu1 = yua + yub
            yu2 = result1 % 10 + yuc
            if result2 >100 or yu1 < 10 or yu2 <10:
                print("-----exp1------",result1,result2)
                continue
        elif flag1 == '+' and flag2 == '-' :
            result1 = a + b
            result2 = result1 - c
            yu1 = yua + yub
            if result1 >100 or result2 < 0 or yu1 <= 10 or result1 % 10 >= c :
                print("-----exp2------",result1,result2)
                continue
        elif flag1 == '-' and flag2 == '+' :
            result1 = a - b
            result2 = result1 + c
            yu2 = result1 % 10 + yuc
            if  result2 >100 or result1 < 0 or yua>=yub or yu2<=10:
                print("-----exp3------",result1,result2)
                continue
        elif flag1 == '-' and flag2 == '-' :
            result1 = a - b
            result2 = result1 - c
            if result1  < 0 or result2 < 0 or yua>=yub or result1%10>=yuc :
                print("-----exp4------",result1,result2)
                continue
        print("-----j------",j)
        a = str(a).ljust(2," ")
        b = str(b).ljust(2," ")
        c = str(c).ljust(2," ")
        jj = str(j).ljust(2," ")
        exp1 = jj + '.' + a + " " + flag1 + " " + b + " "+ flag2 + " " + c + ' ='
        exp2 = jj + '.' + a + " " + flag1 + " " + b + " "+ flag2 + " " + c +' =' + str(result2)
        print("-----exp------",exp1)
        if j % 3 == 0:
            str1 = str1 + exp1 + '\n\n\n\n\n\n\n\n\n\n'#\n\n\n\n\n\n\n\n
            str2 = str2 + exp2 + '\n'
            #print("-----j------",j)
        else:
            str1 = str1 + exp1 + '\t\t'
            str2 = str2 + exp2 + '\t\t'
        j = j + 1
with open('数学混合加减运算.doc','w') as f:
    f.write(str1)
with open('数学混合加减运算答案.txt','w') as f:
    f.write(str2)
# with open('数学混合加减运算和答案.txt','w') as f:
#     f.write(str1)
#     f.write('\n\n\n\n\n\n\n\n\n')
#     f.write(str2)
print(count,'No Answer')
print(str1)
print(count,'With Answer:')
print(str2)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值