3 usuarios conectados

Reemplazar pronombres. Ejercicio en Python

Comparte esto

 
Escribe una función en Python llamada reemplazar_pronombres que tome una cadena de texto en español como entrada y devuelva una nueva cadena donde todos los pronombres personales (en singular y plural, masculino y femenino, incluyendo formas acentuadas) hayan sido reemplazados por la cadena "[PRONOMBRE]".

.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Reemplazar pronombres

📋 Copiar código


import re

def reemplazar_pronombres(texto):
  """
  Reemplaza todos los pronombres personales en español por "[PRONOMBRE]".

  Args:
    texto: La cadena de texto en español de entrada.

  Returns:
    Una nueva cadena con todos los pronombres personales reemplazados.
  """
  pronombres = r"\b(yo|tú|usted|él|ella|ello|nosotros|nosotras|vosotros|vosotras|ustedes|ellos|ellas)\b"
  return re.sub(pronombres, "[PRONOMBRE]", texto, flags=re.IGNORECASE)

# Ejemplos de uso
texto1 = "Yo fui con él y ella. Tú también viniste."
resultado1 = reemplazar_pronombres(texto1)
print(f"'{texto1}' con pronombres reemplazados: '{resultado1}'")

texto2 = "Nosotros no sabíamos que ustedes y ellos vendrían."
resultado2 = reemplazar_pronombres(texto2)
print(f"'{texto2}' con pronombres reemplazados: '{resultado2}'")

texto3 = "Ella dijo que todo depende de ti."
resultado3 = reemplazar_pronombres(texto3)
print(f"'{texto3}' con pronombres reemplazados: '{resultado3}'")

texto4 = "A veces uno piensa demasiado. Usted es muy amable."
resultado4 = reemplazar_pronombres(texto4)
print(f"'{texto4}' con pronombres reemplazados: '{resultado4}'")

texto5 = "Ellos, ellas y usted son los responsables."
resultado5 = reemplazar_pronombres(texto5)
print(f"'{texto5}' con pronombres reemplazados: '{resultado5}'")

texto6 = ""
resultado6 = reemplazar_pronombres(texto6)
print(f"'' con pronombres reemplazados: '{resultado6}'")

Explicación del Código:

  1. import re:

    • Importa el módulo re para trabajar con expresiones regulares.
  2. def reemplazar_pronombres(texto)::

    • Define una función llamada reemplazar_pronombres que toma una cadena de texto (texto) como entrada.
  3. pronombres = r"\b(yo|tú|usted|él|ella|ello|nosotros|nosotras|vosotros|vosotras|ustedes|ellos|ellas)\b":

    • Define una expresión regular pronombres que busca todas las formas de los pronombres personales en español:
      • \b: Asegura que se coincida con palabras completas.
      • (...): Crea un grupo de captura que contiene todas las posibles formas de los pronombres separadas por | (OR).
      • (?i) en el re.sub hará que la coincidencia no distinga entre mayúsculas y minúsculas.
  4. return re.sub(pronombres, "[PRONOMBRE]", texto, flags=re.IGNORECASE):

    • Utiliza re.sub() para buscar todas las ocurrencias del patrón pronombres en el texto, ignorando la capitalización (flags=re.IGNORECASE), y reemplazarlas con la cadena "[PRONOMBRE]".

Ejemplos de Uso:

Los ejemplos muestran cómo la función reemplaza todas las formas de los pronombres personales en el texto por "[PRONOMBRE]", sin importar si están en mayúsculas o minúsculas.