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:
import string
def sin_h(s):
if s[0] in 'Hh':
s1= s[1:]
else:
s1=''
s1=s1.replace(' H'," ")
s1=s1.replace(' h',' ')
rep_q(s1)
def rep_q(s):
s=s.replace('Que','que')
s=s.replace('que','que')
s=s.replace('Qui','ki')
s=s.replace('qui','ki')
rep_x(s)
def rep_x(t):
t=t.replace('Per','x')
t=t.replace('per','x')
sin_voc(t)
def sin_voc(s):
...
...
txt=raw_input('Escribe un texto: ')
sin_h(txt)
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