-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgenerator.py
More file actions
60 lines (48 loc) · 2.15 KB
/
Copy pathgenerator.py
File metadata and controls
60 lines (48 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import random
def generar_problema_avanzado(tipo, resultado):
"""
Genera un problema de tipo polinomio, ecuación o estadística
cuyo resultado final sea el número indicado.
Parámetros:
tipo (str): 'polinomio', 'ecuacion' o 'estadistica'
resultado (float/int): valor numérico deseado como solución.
Retorna:
problema (str): enunciado del problema
solucion (str): explicación o resolución del problema
"""
if tipo == "polinomio":
# Crear un polinomio que al evaluarse en x = 1, por ejemplo, dé el resultado
a = random.randint(1, 5)
b = random.randint(1, 10)
c = resultado - (a + b)
problema = (
f"Considera el polinomio P(x) = {a}x² + {b}x + {c}. "
f"Calcula P(1)."
)
solucion = f"P(1) = {a}(1)² + {b}(1) + {c} = {resultado}"
elif tipo == "ecuacion":
# Crear una ecuación lineal o cuadrática que tenga como solución el resultado
opcion = random.choice(["lineal", "cuadratica"])
if opcion == "lineal":
m = random.randint(1, 10)
b = -m * resultado
problema = f"Resuelve la ecuación: {m}x + {b} = 0"
solucion = f"x = -({b}) / {m} = {resultado}"
else: # cuadrática
a = 1
b = -2 * resultado
c = resultado ** 2
problema = f"Resuelve la ecuación cuadrática: x² {b:+}x {c:+} = 0"
solucion = f"Las soluciones son x = {resultado} (doble raíz)."
elif tipo == "estadistica":
# Crear un conjunto de datos cuya media sea el resultado
n = random.randint(3, 6)
datos = [random.randint(resultado - 3, resultado + 3) for _ in range(n - 1)]
ultimo = (resultado * n) - sum(datos)
datos.append(ultimo)
problema = f"Calcula la media de los siguientes datos: {datos}"
solucion = f"Media = (suma de los datos) / {n} = {sum(datos)}/{n} = {resultado}"
else:
problema = "Tipo de problema no reconocido. Usa 'polinomio', 'ecuacion' o 'estadistica'."
solucion = "-"
return problema, solucion