[PYTHON] Generador de contraseñas a partir de palabras

Iniciado por dimineko, 26 Julio 2017, 17:02 PM

0 Miembros y 1 Visitante están viendo este tema.

dimineko

Buenas.Intentaré ser lo más breve posible.
Quiero hacer un diccionario,pero a partir de varios datos.
Por ejemplo,si tengo las variables :
Código (python) [Seleccionar]

sustantivos = ["lunes","martes","lengua,james"]
num = [1,2,3,4,5,6,7,8,9,0]

Quiero que me combine los sustantivos con los numeros hasta obtener TODAS las combinaciones posibles.Sinceramente no tengo ni idea de por donde empezar.¿Algun consejo?

ivancea96

Si no hay ninguna regla más a parte de las comentadas, lo mejor que puedes hacer es juntar las cadenas y los números (convirtiendolos a cadenas) en un mismo array. Luego, puedes hacer una función recursiva para hacer las combinaciones.

La recursividad funcionaría así:
Texto Generado = Palabra elegida + GenerarTexto(Array de palabras menos la palabra que he elegido)

La palabra elegida, ya que quieres generar todas las combinaciones, sería simplemente un for por todas las palabras del array. Por cada palabra iterada, la quitas del array y llamas recursivamente. Así obtienes la nueva frase. Luego, vuelves a meter la palabra en la posición en la que estaba, y sigues iterando.

¿Algún problema con lo comentado?

Yidu

Aparte de la posible solución que te ha dado el compañero, te recomiendo que leas sobre el modulo itertools. Sobre todo el apartado Generadores para combinatoria. Creo que la función product de ese modulo podría ser aplicable a tu script.

http://python-para-impacientes.blogspot.com.es/2015/08/bucles-eficientes-con-itertools.html