Título: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: Pryato en 27 Octubre 2013, 02:58 am Buenas, tengo que hacer el siguiente script,:
Se pide que diseñe un programa que lea un texto (sin acentos ni otros caracter caracteres que no sean letras) y lo vuelva a escribir en formato SMS. Por ejemplo, si el usuario del programa escribe: Hola que tal por donde estas Debería escribir: ola que tl x donde estas A tal efecto, considera los siguientes cambios a hacer sobre la cadena (en el orden indicado): • En las palabras que empiezan por H, suprimir la h • Las silabas "que" o "qui" cambiarlas por "que" o "ki". • Las silabas "por" cambiarlas por "x". • En los monosilabos de una sola vocal y como minimo 2 letras, suprimir la vocal. Considere que un monosilabo es un término que solo tiene una vocal. Naturalmente las vocales de "que" o "ki" no se han de sustituir. Hasta el momento lo he hecho todo, pero la ultima parte de suprimir la vocal en los monosilabos, no se como hacerlo. Tengo esto de momento: Código
Como veis, me falta la ultima funcion de sin vocales, donde solo hay q eliminar la vocal de los monosilabos, no de todas las palabras... No se como hacerlo.. Si alguien me puede ayudar... Gracias :) Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: tincopasan en 27 Octubre 2013, 07:23 am hola:
lo más simple que se me ocurre es 1) pues básicamente deberías verificar el largo de cada palabra que forme el texto 2) si tiene dos carácteres buscar la posición de la vocal (0-1) y escribir la palabra con el otro carácter.ej: de e=1 print palabra[0] (por regla general la mayoria de las palabras a abreviar es la segunda letra. 3) si es de tres lo mismo o mejor aún sólo escribir el primer y último carácter. ej: tal = print (palabra[0]+palabra[2] = tl es obvio que la mayoría de los monosílabos la vocal es la intermedia. espero que te oriente. Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: Pryato en 27 Octubre 2013, 13:15 pm Vale, y como voy verificando cada palabra?
Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: Danyfirex en 27 Octubre 2013, 17:01 pm Se me ocurrió algo masomenos así:
Código
Espero te sirva de ayuda. aunque no sea la forma mas eficiente. funciona para monosílabas de largo 3. saludos Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: tincopasan en 27 Octubre 2013, 17:34 pm usé una creación de lista con la división de la cadena por el delimitador espacio
lista=mensaje.split(" ") después trabajas como con cualquier lista. Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: 0x5d en 28 Octubre 2013, 15:24 pm Yo haría lo siguiente y por favor corregir si estoy hablando algo nada que ver...
Teóricamente sería: Código Y haría los reemplazos pertinentes en pocas líneas, "que" -> k ; hola -> ola ; saludos -> salu2 Saludos Pythoneros ! :D Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: tincopasan en 28 Octubre 2013, 22:09 pm 0x5d: no está mal en ese ejemplo pero... si la frase es otra?
solo reemplazarías esas tres palabras y el objetivo es cualquier palabra que cumpla esas determinadas condiciones! no reemplazas palabras que empiecen por h! solo hola, hablar u hoy quedan fuera en tu ejemplo. Rescato que si habría que reemplazar "dos" x 2 ejemplo: dormidos= dormi2 Título: Re: [Python] - Script devuelva un cadena en forma de 'sms' Publicado por: 0x5d en 30 Octubre 2013, 07:27 am Ah pues no había entendido esa parte tuya ... Yo creo que nada más te queda usar "import re" y mediante las regex ir verificando e ir reemplazando según el caso...
Saludos! |