[Python] - Ejercicio Concatenación

Iniciado por ChicoMaravilla, 24 Enero 2011, 01:31 AM

0 Miembros y 1 Visitante están viendo este tema.

ChicoMaravilla

Buenas noches a todos, Acudo a este foro porque tengo un pregunta sobre un ejercicio. bueno, es el ejercicio numero 272 del libro marmota, el cual dice:


· 272 Diseña una función llamada es_repeticion que reciba una cadena y nos diga si la
cadena está formada mediante la concatenación de una cadena consigo misma. Por ejemplo,
es_repeticion('abab') devolverá True, pues la cadena 'abab' está formada con la cadena 'ab'
repetida; por contra es_repeticion('ababab') devolverá False

Bueno, yo lo que hice fue lo siguiente:

Código (python) [Seleccionar]
def es_repeticion(x):
    letras=len (x)
    mitad=letras/2
    mitadmitad=mitad-1
    lista=list(x)
    if letras%2==0:
        if lista[mitadmitad::]==lista[:mitadmitad:]:
            return True
        else:
            return False
repeticion=raw_input("Dame una concatenacion: ")
print es_repeticion(repeticion)


si alguien podría decirme mi error, o cea el script ejecuta sin errores, pero siempre me devuelve false, aun siendo true.
desde ya muchas gracias.

ChicoMaravilla

uuuuuuuuuuuh XD ya descubrí mi error

alfinal el script es así:

Código (python) [Seleccionar]
def es_repeticion(x):
   letras=len (x)
   mitad=letras/2
   mitadmitad=mitad-1
   lista=list(x)
   if letras%2==0:
       if lista[mitad::]==lista[:mitad:]:
           return True
       else:
           return False
repeticion=raw_input("Dame una concatenacion: ")
print es_repeticion(repeticion)


saque el mitadmitad, se ve que razone mal, porque yo puce mitad mitad que era la mitad-1 ya que el indice de las listas empieza con 0 y por eso lo hice.

:laugh: