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)