1 usuario conectado

Escribir con pausas. Ejercicio en Python

Comparte esto

 

Escribe una función en Python llamada escribir_con_pausas que tome una cadena de texto como entrada y simule la escritura del texto carácter por carácter, imprimiendo cada carácter seguido de una pausa aleatoria de corta duración (entre 0.05 y 0.2 segundos).


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Escribir con pausas

📋 Copiar código


import time
import random

def escribir_con_pausas(texto):
  """
  Simula la escritura de un texto carácter por carácter con pausas aleatorias.

  Args:
    texto: La cadena de texto a simular la escritura.
  """
  for caracter in texto:
    print(caracter, end='', flush=True)  # Imprime sin salto de línea y fuerza el flush
    tiempo_pausa = random.uniform(0.05, 0.2)
    time.sleep(tiempo_pausa)
  print()  # Salto de línea al final

# Ejemplos de uso
texto1 = "Hola, mundo!"
print("Escribiendo:")
escribir_con_pausas(texto1)

texto2 = "Este es un texto más largo para simular la escritura."
print("\nEscribiendo:")
escribir_con_pausas(texto2)

texto3 = "Texto corto."
print("\nEscribiendo:")
escribir_con_pausas(texto3)

texto4 = ""
print("\nEscribiendo:")
escribir_con_pausas(texto4)

 

Explicación del Código:

  1. Importa los módulos time y random:

    • time: Proporciona funciones relacionadas con el tiempo, como sleep() para pausar la ejecución.
    • random: Proporciona funciones para generar números aleatorios, como uniform() para generar un número de punto flotante aleatorio dentro de un rango.
  2. Función escribir_con_pausas(texto):

    • Itera a través de cada caracter en la cadena de entrada texto.
    • print(caracter, end='', flush=True): Imprime el caracter actual.
      • end='' asegura que no se imprima un salto de línea después de cada carácter, manteniendo la escritura en la misma línea.
      • flush=True fuerza a que la salida se muestre inmediatamente en la consola, en lugar de esperar a que se llene el búfer.
    • tiempo_pausa = random.uniform(0.05, 0.2): Genera un número de punto flotante aleatorio entre 0.05 y 0.2 segundos, que representa la duración de la pausa.
    • time.sleep(tiempo_pausa): Pausa la ejecución del programa durante el tiempo aleatorio generado.
    • print(): Después de imprimir todos los caracteres, imprime un salto de línea para que la siguiente salida aparezca en una nueva línea.

Ejemplos de Uso:

Los ejemplos muestran cómo la función simula la escritura de diferentes cadenas de texto, incluyendo frases cortas, largas y una cadena vacía. Cada carácter se imprimirá en la consola con una pequeña pausa aleatoria después, simulando el proceso de escritura.

Este ejemplo es un poco diferente de los anteriores, ya que se centra más en la interacción y la simulación temporal de la manipulación de cadenas.