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