Título: Ayuda Phyton bucle infinito
Publicado por: SkaTrumpet en 1 Diciembre 2015, 00:10 am
Hola tengo un problema con este programa de phyton lo que busca es la palabra mas larga y su posicion pero se buclea infinita mente en el while y no se como repararlo gracias por su atenciondef captura(): x=raw_input("dame una frase:") return x
def proceso(x): n=len(x) longitud=0 posicion=0 mayor=0 pmayor=0 for i in range(0,n): while x[i]!= " ": longitud+=1 posicion=i if longitud>mayor: mayor=longitud posmayor=posicion-mayor longitud=0 return mayor,posmayor
def impresion(x,y): print "la frase mas larga tiene",x,"caracteres" print "su posicion es de",y,"-",(y+x) def main(): t=captura() x,y=proceso(t) impresion(x,y) main()
Título: Re: Ayuda Phyton bucle infinito
Publicado por: daryo en 1 Diciembre 2015, 01:06 am
bueno porque el while esta dentro del for asi asi que no acaba nunca el ciclo del for y la variable i se mantiene en cero(es decir se queda siempre en el primer caracter). hay que quitar el while y poner un if asi funciona bien: def captura(): x=raw_input("dame una frase:") return x+" " # es necesario un espacio al final para que tenga en cuenta la ultima palabra def proceso(x): n=len(x) longitud=0 posicion=0 mayor=0 pmayor=0 for i in range(n): if x[i]!= " ": longitud+=1 else: posicion=i if longitud>mayor: mayor=longitud pmayor=posicion-mayor longitud=0 return mayor,pmayor def impresion(x,y): print "la frase mas larga tiene",x,"caracteres" print "su posicion es de",y,"-",(y+x) def main(): t=captura() x,y=proceso(t) impresion(x,y) main()
|