Ejercicio 07 — Reemplaza todas las apariciones de una palabra por asteriscos de su…
Dificultad: amarillo · Módulo 06 (Cadenas)
Enunciado
Reemplaza todas las apariciones de una palabra por asteriscos de su longitud
Cómo se resuelve
Censurar una palabra combina dos ideas: repetir una cadena con * y sustituir todas sus apariciones con .replace().
"*" * len(palabra)— multiplicar una cadena por un entero la repite:"*" * 4da"****". Conlen(palabra)como número, generamos tantos asteriscos como letras tenga la palabra a censurar, para que la censura ocupe el mismo hueco.- Guardamos esa cadena de asteriscos en
censura. frase.replace(palabra, censura)— busca cada aparición depalabradentro defrasey la reemplaza porcensura.replacesustituye TODAS las apariciones (no solo la primera) y devuelve una copia nueva; lafraseoriginal no se toca, por la inmutabilidad de las cadenas.- Imprimimos
resultado, la copia ya censurada.
Trampa habitual: replace distingue mayúsculas de minúsculas y busca coincidencias exactas de subcadena. Si censuras “sol” también afectará a “solución” (la sustituye dentro de otra palabra), y no tocará “Sol” con mayúscula. Para un filtro robusto habría que normalizar o trabajar palabra a palabra.
Para practicar — cópialo y complétalo
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 07 — PRACTICA (rellena los TODO)
# Enunciado: Reemplaza todas las apariciones de una palabra por asteriscos de su longitud
# Dificultad: amarillo
# Ejecutar: python3 ej07_practica.py
frase = input("Introduce una frase: ")
palabra = input("Palabra a censurar: ")
# TODO: crea una cadena de asteriscos del mismo largo que la palabra
# pista: "*" * len(palabra)
censura = ""
# TODO: usa frase.replace(palabra, censura) para censurar todas las apariciones
resultado = ""
# TODO: imprime el resultado
print()Solución — cópiala y ejecútala
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 07 — MODELO (resuelto)
# Enunciado: Reemplaza todas las apariciones de una palabra por asteriscos de su longitud
# Dificultad: amarillo
# Ejecutar: python3 ej07_modelo.py
frase = input("Introduce una frase: ")
palabra = input("Palabra a censurar: ")
# "*" * len(palabra) genera una cadena de asteriscos del mismo largo
censura = "*" * len(palabra)
# .replace() sustituye TODAS las apariciones y devuelve una copia
resultado = frase.replace(palabra, censura)
print(resultado)Cómo usarlo
Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.