Autor
|
Tema: Como puedo tener todas las combinaciones de letras? (Leído 8,865 veces)
|
Pregma Sogma
Desconectado
Mensajes: 4
|
Hola me gustarian que me ayuden porque quisiera hacer un programa en python que haga todas las combinaciones de letras del abcdario castellano A la Z y los numeros 0 al 9.
Pero lo que yo hago en python no me funciona y me gustaria tener ese programa que haga todas las combinaciones de letras y numeros.........gracias
|
|
|
En línea
|
|
|
|
engel lex
|
explica "todas las combinaciones" da 3 ejemplos a ver
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Yidu
Desconectado
Mensajes: 133
|
No estaria de mas que revisaras el modulo itertools. No se tu nivel de programacion y pretender crear un algoritmo de este tipo sin usar modulos lo veo complicado. Si quieres crear las combinaciones en grupos de tres, por ejemplo, sera asi: from itertools import combinations numeros = range(0, 10) for x in combinations(numeros, 3): print(x)
Salida: (0, 1, 2) (0, 1, 3) (0, 1, 4) (0, 1, 5) (0, 1, 6) (0, 1, 7) (0, 1, 8) (0, 1, 9) (0, 2, 3) (0, 2, 4) (0, 2, 5) (0, 2, 6) (0, 2, 7) (0, 2, 8) (0, 2, 9) (0, 3, 4) (0, 3, 5) (0, 3, 6) (0, 3, 7) (0, 3, 8) (0, 3, 9) (0, 4, 5) (0, 4, 6) (0, 4, 7) (0, 4, 8) (0, 4, 9) (0, 5, 6) (0, 5, 7) (0, 5, 8) (0, 5, 9) (0, 6, 7) (0, 6, 8) (0, 6, 9) (0, 7, 8) (0, 7, 9) (0, 8, 9) (1, 2, 3) (1, 2, 4) (1, 2, 5) (1, 2, 6) (1, 2, 7) (1, 2, 8) (1, 2, 9) (1, 3, 4) (1, 3, 5) (1, 3, 6) (1, 3, 7) (1, 3, 8) (1, 3, 9) (1, 4, 5) (1, 4, 6) (1, 4, 7) (1, 4, 8) (1, 4, 9) (1, 5, 6) (1, 5, 7) (1, 5, 8) (1, 5, 9) (1, 6, 7) (1, 6, 8) (1, 6, 9) (1, 7, 8) (1, 7, 9) (1, 8, 9) (2, 3, 4) (2, 3, 5) (2, 3, 6) (2, 3, 7) (2, 3, 8) (2, 3, 9) (2, 4, 5) (2, 4, 6) (2, 4, 7) (2, 4, 8) (2, 4, 9) (2, 5, 6) (2, 5, 7) (2, 5, 8) (2, 5, 9) (2, 6, 7) (2, 6, 8) (2, 6, 9) (2, 7, 8) (2, 7, 9) (2, 8, 9) (3, 4, 5) (3, 4, 6) (3, 4, 7) (3, 4, 8) (3, 4, 9) (3, 5, 6) (3, 5, 7) (3, 5, 8) (3, 5, 9) (3, 6, 7) (3, 6, 8) (3, 6, 9) (3, 7, 8) (3, 7, 9) (3, 8, 9) (4, 5, 6) (4, 5, 7) (4, 5, 8) (4, 5, 9) (4, 6, 7) (4, 6, 8) (4, 6, 9) (4, 7, 8) (4, 7, 9) (4, 8, 9) (5, 6, 7) (5, 6, 8) (5, 6, 9) (5, 7, 8) (5, 7, 9) (5, 8, 9) (6, 7, 8) (6, 7, 9) (6, 8, 9) (7, 8, 9) Aunque debes tener cuidado de cuantos grupos de numeros quieres las combinacion. Ya que podria tardar bastante el proceso. Y con la letras es parecido. De todas formas no se si confundes permutaciones con combinaciones. Deberias, entonces, cambiar el codigo asi: from itertools import permutations numeros = range(0, 10) for x in permutations(numeros, 3): print(x)
|
|
|
En línea
|
|
|
|
explorer
Desconectado
Mensajes: 102
Analista/Programador Perl
|
A mi me salen muchas combinaciones... $ perl6 -e 'my @a = ("A".."Z", 0..9).flat; say (@a X @a X @a).elems' 46656
|
|
|
En línea
|
|
|
|
Yidu
Desconectado
Mensajes: 133
|
A mi me salen muchas combinaciones... $ perl6 -e 'my @a = ("A".."Z", 0..9).flat; say (@a X @a X @a).elems' 46656 Bueno...a eso se le llama explosion combinatoria. Dependiendo el conjunto de numeros o letras que queramos combinar, el asunto se hace inabordable. Incluso si queremos almacenar dichas combinaciones en algun fichero. Creo que no tardaria mucho en llenarse el disco duro. En el ejemplo que puse con 10 numeros en grupos de 3 salen 120 combinaciones.
|
|
|
En línea
|
|
|
|
Pregma Sogma
Desconectado
Mensajes: 4
|
Yidu el codigo que me diste me funciono muy bien pero...hay alguna manera de cambiar la cantidad de numeros que podrian haber en un grupo por ejemplo: Que cuando el programa genere una combinacion de numeros y letras en un grupo y termine agregue otron digito osea: A B C D ... X Y Z 1 2 3 4 ... 9 Y que cuando termine de hacer todas las combinaciones le agregue un 2 a la cantidad de digitos en un grupo...entonces: AA AB AC AD ... AX AY AZ A1 A2 A3 ... A9 Y Luego seria: BA BB BC BD ... BX BY BZ ... Etc.. Osea que cada vez que termine agregue otro digito al grupo y que haya un if que pare el programa en ZZZ9....espero tu respuesta
|
|
|
En línea
|
|
|
|
engel lex
|
un for y en lugar del 3, la variable del for...
estás claro que si usas 7 digitos o más, tardará dias y si los guardas, llenarás tu discoduro verdad?
ten en cuenta que la formula de cantidad de combinaciones es
charsetcantidad digitos
charset = (la cantidad de elementos a usar, si son letras de "A" a la "Z" son 26)
así que 7 digitos son 8.031.810.176 combinaciones a 8 bytes por cada una... son 59Gb
generar letras continuas nunca es buena idea para nada...
es decir, que quieres hacer con esto?
|
|
« Última modificación: 31 Enero 2017, 00:48 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Yidu
Desconectado
Mensajes: 133
|
Yo soy de la misma idea que engel lex. Lo suyo es saber bien que quieres hacer y profundizar mas en el tema de los bucles e iteradores. La gracia y morbo de la programacion, es crearte pequeños retos para luego superarlos. Y creeme, es mas gratificante. Si te dan el codigo hecho no crearas esos mecanismos propios para la resolucion de problemas. Aunque yo tambien, a veces, he preguntado cosas en los foros. Y cuando me han dado la solucion, no tiene tanta gracia que cuando uno la consigue por si mismo. Pero claro, un pequeña ayuda siempre es necesaria. Te pongo un enlace dondo tocan estos temas. Sobre el modulo itertools. Por cierto, mirate bien dicho blog que es oro puro sobre python. Casi, una guia de referencia. http://python-para-impacientes.blogspot.com.es/2015/08/bucles-eficientes-con-itertools.html
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Programa que entretege todas las combinaciones posibles de letras de una palabra
Programación C/C++
|
freakx
|
0
|
5,550
|
23 Enero 2012, 04:55 am
por freakx
|
|
|
Como saber todas las combinaciones posibles de letras y numeros?
Programación C/C++
|
peterfly
|
8
|
29,314
|
15 Julio 2012, 18:26 pm
por DickGumshoe
|
|
|
Combinaciones letras o numeros
« 1 2 »
.NET (C#, VB.NET, ASP)
|
luis456
|
11
|
8,937
|
8 Febrero 2014, 11:43 am
por luis456
|
|
|
Duda acerca del calculo de combinaciones de numeros y letras en vb.net 2010
.NET (C#, VB.NET, ASP)
|
arturoro
|
5
|
4,295
|
20 Diciembre 2015, 07:33 am
por Eleкtro
|
|
|
Cómo tener todas las apps con el nuevo diseño Neon en Windows 10 sin tener que..
Noticias
|
wolfbcn
|
0
|
3,319
|
8 Mayo 2017, 21:16 pm
por wolfbcn
|
|