91 lines
2.6 KiB
Python
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
|
|
|
|
|