|
|
|
@ -2,8 +2,8 @@ import random
|
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_number():
|
|
|
|
|
get_number = random.randint(0,20)
|
|
|
|
|
def create_number(i):
|
|
|
|
|
get_number = random.randint(0,int(i))
|
|
|
|
|
# print(get_number)
|
|
|
|
|
return get_number
|
|
|
|
|
|
|
|
|
@ -13,7 +13,7 @@ def create_sign():
|
|
|
|
|
# print(get_sign)
|
|
|
|
|
return get_sign
|
|
|
|
|
|
|
|
|
|
def create_formula():
|
|
|
|
|
def create_formula(flag_num):
|
|
|
|
|
total = [3,5,7]
|
|
|
|
|
flag = random.choice(total)
|
|
|
|
|
# 生成算式 result数组
|
|
|
|
@ -21,7 +21,7 @@ def create_formula():
|
|
|
|
|
for i in range(flag):
|
|
|
|
|
# print(i)
|
|
|
|
|
if i % 2 == 0:
|
|
|
|
|
number = create_number()
|
|
|
|
|
number = create_number(flag_num)
|
|
|
|
|
result.append(number)
|
|
|
|
|
else:
|
|
|
|
|
sign = create_sign()
|
|
|
|
@ -41,7 +41,7 @@ def create_formula():
|
|
|
|
|
result.insert(i+3,')')
|
|
|
|
|
break
|
|
|
|
|
|
|
|
|
|
# print(result)
|
|
|
|
|
print(result)
|
|
|
|
|
formula = str(str(result).replace("'","").replace(',','')).replace('[','').replace(']','')
|
|
|
|
|
# 计算
|
|
|
|
|
while len(result) != 1:
|
|
|
|
@ -66,39 +66,38 @@ def create_formula():
|
|
|
|
|
else:
|
|
|
|
|
if '*' in result:
|
|
|
|
|
number_sign = result.index('*')
|
|
|
|
|
print(result)
|
|
|
|
|
number_num = float(result[number_sign - 1]) * float(result[number_sign + 1])
|
|
|
|
|
result[number_sign - 1] = number_num
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
result[number_sign] = number_num
|
|
|
|
|
result.remove(result[number_sign - 1])
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
# print(result)
|
|
|
|
|
print('*'+str(result))
|
|
|
|
|
elif '÷' in result:
|
|
|
|
|
number_sign = result.index('÷')
|
|
|
|
|
if result[number_sign + 1] == 0 or result[number_sign + 1] == '0':
|
|
|
|
|
create_formula()
|
|
|
|
|
create_formula(flag_num)
|
|
|
|
|
else:
|
|
|
|
|
number_num = float(result[number_sign - 1]) / float(result[number_sign + 1])
|
|
|
|
|
result[number_sign - 1] = number_num
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
result[number_sign] = number_num
|
|
|
|
|
result.remove(result[number_sign - 1])
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
# print(result)
|
|
|
|
|
print('÷'+str(result))
|
|
|
|
|
elif '+' in result:
|
|
|
|
|
number_sign = result.index('+')
|
|
|
|
|
number_num = float(result[number_sign - 1]) + float(result[number_sign + 1])
|
|
|
|
|
result[number_sign - 1] = number_num
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
# print(result)
|
|
|
|
|
print('+'+str(result))
|
|
|
|
|
elif '-' in result:
|
|
|
|
|
number_sign = result.index('-')
|
|
|
|
|
number_num = float(result[number_sign - 1]) - float(result[number_sign + 1])
|
|
|
|
|
result[number_sign - 1] = number_num
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
result.remove(result[number_sign])
|
|
|
|
|
# print(result)
|
|
|
|
|
print('-'+str(result))
|
|
|
|
|
|
|
|
|
|
result = str(result).replace('[','').replace(']','')[0:5]
|
|
|
|
|
# print(result)
|
|
|
|
|
# print(formula)
|
|
|
|
|
return result,formula
|
|
|
|
|
|
|
|
|
|
create_formula()
|
|
|
|
|
return result,formula
|