Algoritmos

Páginas: 2 (429 palabras) Publicado: 16 de septiembre de 2012
Algoritmo y código en python para generar anagramas legibles
Posted on mayo 16, 2011 by Braulio
Vale, no sirve para absolutamente nada. No tiene utilidad alguna, gracias a esto no vas a conseguirun trabajo, ni una vida mejor, pero mola.
La verdad es que no tenía nada mejor que hacer y pensé en un programa que generara anagramas a partir de una frase de entrada. Gracias al programa que hice,el nombre de este blog se convierte en: Fin Lofsutofasal (Alfffa Solutions). De todas formas, el algoritmo tiene cierto componente aleatorio, por lo que si probara de nuevo no obtendría el mismoresultado.
El algoritmo que uso es el siguiente:
1. Se recibe la frase por parte del usuario
2. Se generan N permutaciones aleatorias de esa frase (cuanto más grande sea N más tardaráevidentemente, yo uso N=10000)
3. Se puntúa con cierto método cada una de las permutaciones (las reglas de puntuación se ven en el código)
4. La permutación con más puntos se convierte en el anagramadeseado.
Es cierto que mi código se podría mejorar para que fuera más eficiente y para que eligiera mejores anagramas. No creo que vaya a usar casi nunca más el programa, por lo tanto no veo quemejorarlo merezca la pena.
view source

print?
01 | #Programa generador de anagramas |
02 | import random |

03 |    |
04 | consonantes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"|

05 | vocales = "aeiouAEIOU" |
06 |    |

07 | letrasFinal = vocales+"lsrnLSRN" |
08 |    |

09 | consonantesNoPegan = "bcdfghjkqwxyzBCDFGHJKQWXYZ" |
10 | consonantesNoPeganPrin ="swyzSWYZ" |

11 | def permutaciones(frase): |
12 |   stringd = list(frase) |

13 |   aDevolver = "" |
14 |   for index in range(len(frase)): |

15 |     indice = random.randint(0,len(stringd)-1) |
16 |     aDevolver += stringd[indice] |

17 |     stringd.remove(stringd[indice]) |
18 |   return aDevolver |

19 |        |
20 | def puntuarAnagrama(frase): |

21 |...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Algoritmo
  • Algoritmo
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS