Generateurv2/backend/api/api/Generateur/Generateur_special/violet.py

86 lines
2.5 KiB
Python

import csv
import random
def Violet(step, number=5):
if step == 1:
calcul_list = []
for x in range(number):
op1 = random.choice(['+','-','x',':'])
op2 = random.choice(['+','-'])
n1 = random.randint(2, 10)
#print('N1', n1, op1)
if op1 == '-' or op1 == ":":
n2 = random.randint(1, n1)
else:
n2 = random.randint(1,10)
#premier calcul
if op1 == '-':
res1 = n1 - n2
elif op1 == '+':
res1 = n1 + n2
elif op1 == 'x':
res1 = n1 * n2
elif op1 == ':':
res1 = n1 / n2
if op2 == '-':
max_limit = (10, int(res1))[res1 < 10]
min_limit = (1, 0)[int(res1) == 0]
n3 = random.randint(min_limit, max_limit)
else:
n3 = random.randint(1,10)
#deuxieme
if op2 == '-':
final_result = res1 - n3
if op2 == '+':
final_result = res1 + n3
calcul_list.append({
'calcul': f"({n1} {op1} {n2}) {op2} {n3} = ",
'result': f"({n1} {op1} {n2}) {op2} {n3} = {final_result} "
})
return calcul_list
if step == 2:
calcul_list = []
for x in range(number):
nb_model = random.randint(2,10)
diviseur = random.randint(2,10)
dividande = nb_model * diviseur
calcul_list.append({
'calcul': f"{dividande} : {diviseur} = ",
'result': f"{dividande}: {diviseur} = {int(dividande / diviseur)}"
})
return calcul_list
if step == 3:
calcul_list = []
for x in range(number):
nb = random.randint(10,100)
pair = (nb + 1, nb)[nb % 2 == 0]
calcul_list.append({
'calcul': f"{pair} : 2 = ",
'result': f"{pair}: 2 = {int(pair / 2)}"
})
return calcul_list
if step == 4:
calcul_list = []
for x in range(number):
nb = random.randint(10, 100)
multiple_5 = (5 * round(nb/5), nb)[nb % 5 == 0]
calcul_list.append({
'calcul': f"{multiple_5} : 5 = ",
'result': f"{multiple_5}: 5={int(multiple_5 / 5)}"
})
return calcul_list