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().

  1. "*" * len(palabra) — multiplicar una cadena por un entero la repite: "*" * 4 da "****". Con len(palabra) como número, generamos tantos asteriscos como letras tenga la palabra a censurar, para que la censura ocupe el mismo hueco.
  2. Guardamos esa cadena de asteriscos en censura.
  3. frase.replace(palabra, censura) — busca cada aparición de palabra dentro de frase y la reemplaza por censura. replace sustituye TODAS las apariciones (no solo la primera) y devuelve una copia nueva; la frase original no se toca, por la inmutabilidad de las cadenas.
  4. 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.

Conexiones