2 usuarios conectados

Reemplazar palabra. Ejercicio en Python

Comparte esto

 

Ejercicio:

Escribe una función en Python llamada reemplazar_palabra que tome tres argumentos:

  1. texto: La cadena de texto en la que se realizará el reemplazo.
  2. palabra_a_reemplazar: La palabra que se buscará y reemplazará en el texto.
  3. palabra_reemplazo: La palabra con la que se reemplazará la palabra_a_reemplazar.

La función debe devolver una nueva cadena con todas las ocurrencias de palabra_a_reemplazar reemplazadas por palabra_reemplazo. La búsqueda y el reemplazo deben ser sensibles a mayúsculas y minúsculas.

Piensa en cómo puedes recorrer la cadena, identificar la palabra a reemplazar y construir una nueva cadena con los reemplazos.

Intenta resolverlo por tu cuenta primero. ¡No te rindas!

 

Más ejercicios





Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Reemplazar palabra

📋 Copiar código


def reemplazar_palabra(texto, palabra_a_reemplazar, palabra_reemplazo):
  """
  Reemplaza todas las ocurrencias de una palabra por otra en un texto.

  Args:
    texto: La cadena de texto en la que se realizará el reemplazo.
    palabra_a_reemplazar: La palabra que se buscará y reemplazará.
    palabra_reemplazo: La palabra con la que se reemplazará.

  Returns:
    Una nueva cadena con las palabras reemplazadas.
  """
  nueva_texto = ""
  i = 0
  while i < len(texto):
    if texto[i:i + len(palabra_a_reemplazar)] == palabra_a_reemplazar:
      nueva_texto += palabra_reemplazo
      i += len(palabra_a_reemplazar)
    else:
      nueva_texto += texto[i]
      i += 1
  return nueva_texto

# Ejemplo de uso:
texto_ejemplo = "El perro ladra. El perro es grande."
palabra_vieja = "perro"
palabra_nueva = "gato"
texto_modificado = reemplazar_palabra(texto_ejemplo, palabra_vieja, palabra_nueva)
print(f"Texto original: {texto_ejemplo}")
print(f"Texto modificado: {texto_modificado}")

texto_ejemplo2 = "La manzana es roja. La Manzana es dulce."
palabra_vieja2 = "Manzana"
palabra_nueva2 = "Naranja"
texto_modificado2 = reemplazar_palabra(texto_ejemplo2, palabra_vieja2, palabra_nueva2)
print(f"Texto original: {texto_ejemplo2}")
print(f"Texto modificado: {texto_modificado2}")
 

Explicación de la solución:

  1. def reemplazar_palabra(texto, palabra_a_reemplazar, palabra_reemplazo):: Define la función con los tres argumentos necesarios.
  2. nueva_texto = "": Inicializa una cadena vacía para construir el texto modificado.
  3. i = 0: Inicializa un índice para recorrer el texto original.
  4. while i < len(texto):: Utiliza un bucle while para iterar a través del texto.
  5. if texto[i:i + len(palabra_a_reemplazar)] == palabra_a_reemplazar:: Verifica si la porción del texto que comienza en el índice i y tiene la misma longitud que palabra_a_reemplazar coincide con palabra_a_reemplazar. Esto asegura que la coincidencia sea sensible a mayúsculas y minúsculas.
  6. nueva_texto += palabra_reemplazo: Si se encuentra una coincidencia, se añade la palabra_reemplazo a la nueva_texto y el índice i se incrementa en la longitud de palabra_a_reemplazar para evitar procesar la palabra reemplazada nuevamente.
  7. else:: Si no se encuentra una coincidencia en la posición actual.
  8. nueva_texto += texto[i]: Se añade el carácter actual del texto original a la nueva_texto.
  9. i += 1: El índice i se incrementa en 1 para pasar al siguiente carácter.
  10. return nueva_texto: Finalmente, la función devuelve la nueva_texto con las palabras reemplazadas.

El ejemplo de uso demuestra cómo llamar a la función y muestra que el reemplazo es sensible a mayúsculas y minúsculas.