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

Diagramas de flujo

Diagrama de flujo (actividad) del ejercicio 07

Diagrama de flujo (grafo) del ejercicio 07

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)

Ejecútalo en el navegador

▶ Visualízalo paso a paso en Python Tutor — ve cómo cambian las variables línea a línea.

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