86 lines
2.5 KiB
Python
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
|
|
|