Foros del Web » Programando para Internet » Python »

Ejercicio para hallar el prefijo comun mas largo

Estas en el tema de Ejercicio para hallar el prefijo comun mas largo en el foro de Python en Foros del Web. El ejercicio me pide que halle el prefijo comun mas largo en estas palabras he creado esta funcion pero no devuelve nada ojala alguien me ...
  #1 (permalink)  
Antiguo 15/06/2011, 08:21
 
Fecha de Ingreso: diciembre-2010
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Ejercicio para hallar el prefijo comun mas largo

El ejercicio me pide que halle el prefijo comun mas largo en estas palabras he creado esta funcion pero no devuelve nada ojala alguien me pueda ayudar porque no se como enfocar el ejercicio y igual mi funcion es una chorrada nose...Gracias
Código Python:
Ver original
  1. def prefijo(lista):
  2.     for i in range(len(lista)):
  3.         palabra=lista[i]
  4.         palabra2=lista[i+1]
  5.         pref=""
  6.         z=0
  7.         if len(palabra)<len(palabra2):
  8.            
  9.             while z<=(len(palabra2)):
  10.                 if palabra2[z]==palabra[z]:
  11.                     pref +=palabra[z]
  12.                     z +=1
  13.                
  14.             return(pref)
  15.         else:
  16.             j=0
  17.             while j<=(len(palabra)):
  18.                 if palabra2[j]==palabra[j]:
  19.                     pref +=palabra2[j]
  20.                     j +=1
  21.                
  22.             return(pref)
  23.                
  24. lista=["poliedro","policia","polifonia","polinizar","polaridad","politica"]
  25. print(prefijo(lista))
  #2 (permalink)  
Antiguo 15/06/2011, 08:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Ejercicio para hallar el prefijo comun mas largo

Pista usa la función zip de la siguiente manera.

Código Python:
Ver original
  1. lista=["poliedro","policia","polifonia","polinizar","polaridad","politica"]
  2. d = zip(*lista)
  3. print d
¿Notas algo curioso?
  #3 (permalink)  
Antiguo 29/06/2011, 15:30
 
Fecha de Ingreso: junio-2011
Ubicación: Chile
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Ejercicio para hallar el prefijo comun mas largo

si, con la funcion zip se puede, solo basta con comparar que cada elemento de cada conjunto en el arreglo "d" sea igual, no se si me explico, "d" seria algo asi:

[('p', 'p', 'p', 'p', 'p', 'p'), ('o', 'o', 'o', 'o', 'o', 'o'), ('l', 'l', 'l', 'l', 'l', 'l'), ('i', 'i', 'i', 'i', 'a', 'i'), ('e', 'c', 'f', 'n', 'r', 't'), ('d', 'i', 'o', 'i', 'i', 'i'), ('r', 'a', 'n', 'z', 'd', 'c')]

entonces vemos que la letra "p" aparece al principio en todas la palabras, lo mismo pasa con "o" y con "l", pero con la letra "i" no ocurre eso, entonces puedes decir que el prefijo mas largo es "pol".

no se si me di a entender :(
  #4 (permalink)  
Antiguo 29/06/2011, 16:29
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Ejercicio para hallar el prefijo comun mas largo

Si, si te diste a entender.

Etiquetas: comun, ejercicio, hallar, largo, prefijo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:48.