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

91 lines
2.6 KiB
Python

import csv
import random
import math
def Noire(step, number=5):
if step == 1:
calcul_list = []
for x in range(number):
dividande = random.randint(20, 100)
diviseur = random.randint(19, dividande)
calcul_list.append({
'calcul': f"{dividande} : {diviseur} = r = ",
'result': f"{dividande} : {diviseur} = { math.floor(dividande / diviseur)} r = {dividande % diviseur} "
})
return calcul_list
if step == 2:
calcul_list = []
for x in range(number ):
op1 = random.choice(['+', '-', 'x', ':'])
op2 = random.choice(['+', '-', 'x', ':'])
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 == '-' or 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
if op2 == 'x':
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 == 3:
calcul_list = []
for x in range(number):
nb = random.randint(0,2000)
centaine_sup = math.ceil(nb/100) * 100
calcul_list.append({
'calcul': f"{nb} + ... = {centaine_sup}",
'result': f'{nb} + {centaine_sup - nb} = {centaine_sup}'
})
return calcul_list
if step == 4:
calcul_list = []
for x in range(number):
nb = random.randint(2, 10)
calcul_list.append({
'calcul': f"{nb} x 25 = ",
'result': f"{nb} x 25 = {nb * 25}"
})
return calcul_list