Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1 respuesta

¡Hola Estudiante, espero que estés bien!

Parece que estás trabajando en el desafío de crear un filtro de palabras prohibidas utilizando IA. Este es un proyecto interesante y práctico para aplicar tus conocimientos en programación y procesamiento de texto. Aquí te doy algunos consejos para abordar este desafío:

  1. Entrada de Usuario: Asegúrate de que tu programa primero solicite al usuario que ingrese el texto y luego la lista de palabras prohibidas separadas por comas. Puedes usar input() en Python para esto.

  2. Detección de Palabras: Para detectar palabras prohibidas que pueden estar acompañadas de signos de puntuación, puedes utilizar expresiones regulares (regex). La librería re de Python es muy útil para este propósito. Por ejemplo, podrías usar algo como re.findall(r'\bpalabra\b', texto, re.IGNORECASE) para encontrar coincidencias ignorando mayúsculas y minúsculas.

  3. Reemplazo de Palabras: Una vez detectadas, reemplaza cada palabra prohibida por asteriscos. Puedes hacer esto calculando la longitud de la palabra y generando una cadena de asteriscos de la misma longitud.

  4. Mostrar Resultados: Finalmente, muestra el texto original, el texto censurado y el conteo de palabras censuradas. Para contar las palabras censuradas, simplemente lleva un contador que se incremente cada vez que realices un reemplazo.

Aquí tienes un pequeño ejemplo de cómo podrías comenzar a estructurar tu código:

import re

def censurar_texto(texto, palabras_prohibidas):
    palabras_prohibidas = [palabra.strip() for palabra in palabras_prohibidas.split(',')]
    texto_censurado = texto
    contador_censuradas = 0

    for palabra in palabras_prohibidas:
        # Regex para encontrar la palabra ignorando signos de puntuación y mayúsculas
        regex = r'\b' + re.escape(palabra) + r'\b'
        coincidencias = re.findall(regex, texto, re.IGNORECASE)
        contador_censuradas += len(coincidencias)
        texto_censurado = re.sub(regex, lambda m: '*' * len(m.group()), texto_censurado, flags=re.IGNORECASE)

    print("Texto original:", texto)
    print("Texto censurado:", texto_censurado)
    print("Cantidad de palabras censuradas:", contador_censuradas)

# Ejemplo de uso
texto_usuario = input("Ingrese el texto a procesar: ")
palabras_prohibidas_usuario = input("Ingrese las palabras prohibidas separadas por comas: ")
censurar_texto(texto_usuario, palabras_prohibidas_usuario)

Espero que este ejemplo te ayude a avanzar en tu desafío. ¡Recuerda probar tu código con diferentes variaciones de entrada para asegurarte de que funcione correctamente! Espero haber ayudado y buenos estudios!