1
respuesta

No me sale el mismo resultado en generar palabras

Hola, he escrito el mismo código que el profesor pero no obtengo el mismo resultado:

palabra = 'lgica'
def generar_partes(palabra):
  for i in range(len(palabra)+1):
    partes = []
    partes.append((palabra[:i],palabra[i:]))
  return partes
print(generar_partes(palabra))

el resultado es:

[('lgica', '')]
1 respuesta

¡Hola Juan! Cómo va? Espero que todo bien :)

Gracias por compartir tu código y explicar tu problema. Parece que estás teniendo dificultades para obtener el mismo resultado que el profesor al generar las partes de una palabra. Después de revisar tu código, puedo ver que el problema está en la forma en que estás construyendo la lista de partes.

En tu función generar_partes, estás creando una lista vacía llamada partes dentro del bucle for. Esto significa que la lista se reinicia en cada iteración del bucle y solo contiene la última parte generada. Para solucionar esto, debes mover la línea partes = [] antes del bucle for, de esta manera la lista se crea una sola vez y puedes ir agregando las partes a medida que iteras.

Aquí está el código corregido:

palabra = 'lgica'
def generar_partes(palabra):
  partes = []  # Mueve esta línea antes del bucle
  for i in range(len(palabra)+1):
    partes.append((palabra[:i],palabra[i:]))
  return partes

print(generar_partes(palabra))

Con esta corrección, deberías obtener el resultado deseado:

[('', 'lgica'), ('l', 'gica'), ('lg', 'ica'), ('lgi', 'ca'), ('lgic', 'a'), ('lgica', '')]

Espero que esto resuelva tu problema. Si tienes alguna otra pregunta, no dudes en preguntar. ;)

Si este post te ayudó, por favor, marca como solucionado ✓.