Disclaimer: Claramente hay una forma más eficiente de realizar combinaciones (además de que puede ser tedioso e imposible con más posibilidades de números). Y la solución sería con módulos, sin embargo este tutorial es más para ejemplificar un concepto básico en las matemáticas estadísticas.
Hola hola, me gustaría mostrarles como manualmente utilizando ciclos anidados en Python podemos explicar un concepto interesante en la Estadística; Combinaciones.
No requieren o les es importante un orden secuencial en números como sucede en la permutacion. Además, las formulas en las combinaciones suelen permitir elegir si queremos o no repeticiones de estas y que sea todo el proceso de una forma eficiente. Es muy interesante ilustrar la comprensión del uso de las combinaciones generandolas manualmente en código:
una combinación es un concepto que se utiliza cuando quieres contar cuántas formas diferentes hay para elegir un grupo de elementos de un conjunto, sin tener en cuenta el orden en el que los eliges. En otras palabras, se trata de seleccionar ciertos elementos de un conjunto sin preocuparte por la secuencia en que los tomas.
en este ejemplo, tendremos una cantidad máxima para las combinaciones la cual será 4
en cada ciclo anidado que genera combinaciones. Encontraremos un if
(loop; condición) la cuál permitirá que en cada bucle se asegure que no haya números repetidos en una misma combinación.
también veremos en el código como dando un valor de 0 a una variable llamada contador_combinaciones irá incrementando su valor contenido cada vez que se encuentre una combinación válida.
# Número máximo para las combinaciones
max_numero = 4
# Inicializar el contador de combinaciones
contador_combinaciones = 0
# Ciclos anidados para generar todas las combinaciones posibles
for num1 inrange(1, max_numero + 1):
for num2 inrange(1, max_numero + 1):
if num2 != num1:
for num3 inrange(1, max_numero + 1):
if num3 != num1 and num3 != num2:
for num4 inrange(1, max_numero + 1):
if num4 != num1 and num4 != num2 and num4 != num3:
contador_combinaciones += 1
# Imprimir la cantidad totalde combinaciones
print("Cantidad de combinaciones posibles:", contador_combinaciones)
Con un módulo sería aún más fácil, eficiente y prolijo:
import math
# Número máximo para las combinaciones
max_numero = 4
# Calcular la cantidad de combinaciones posibles
cantidad_combinaciones = math.comb(max_numero, max_numero)
# Imprimir la cantidad totalde combinaciones
print("Cantidad de combinaciones posibles:", cantidad_combinaciones)
espero les guste 😉