Update create.py

master
pwkev4itb 4 years ago
parent f147c5c045
commit 97fe960a56

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