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