Intenta resolverlo por tu cuenta primero. ¡No te
rindas!
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:
def reemplazar_palabra(texto,
palabra_a_reemplazar, palabra_reemplazo):
: Define la función
con los tres argumentos necesarios.
nueva_texto = ""
:
Inicializa una cadena vacía para construir el texto modificado.
i = 0
:
Inicializa un índice para recorrer el texto
original.
while i < len(texto):
:
Utiliza un bucle while
para iterar a través del texto
.
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.
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.
else:
: Si no
se encuentra una coincidencia en la posición actual.
nueva_texto += texto[i]
:
Se añade el carácter actual del texto
original a la
nueva_texto
.
i += 1
: El
índice i
se incrementa en 1 para pasar al siguiente carácter.
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.