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:
-
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.
-
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.