Introducción
¿Recuerdas los rugientes años 80? Quiero decir, ¿sabes, como hace 30 años? No hay teléfonos celulares, ni internet, ni cajeros automáticos, ropa fluorescente (lo que era eso ?!) y el desplazamiento de marqee ! ¡No no no! No los en línea, sino los reales, con luces LED.
Como estoy de humor nostálgico, me gustaría que crees una marquesina de desplazamiento.
Desafío
Cree un programa donde pueda ingresar una cadena de una línea. Su programa necesita crear una marquesina de desplazamiento de 80 caracteres de ancho, repitiendo el texto si es necesario.
Reglas
- El usuario debe poder ingresar una cadena a su programa como entrada. La cadena puede ser un parámetro de línea de comando o una cadena ingresada mientras se ejecuta el programa.
- Su programa debe imprimir continuamente una cadena de exactamente 80 caracteres (visibles).
- La cadena debe actualizarse cada 0.1 segundo (más o menos; no la sincronizaré), desplazando los caracteres cada iteración una posición hacia la izquierda.
- La cadena "gira". Al final de la cadena proporcionada por el usuario, debe aparecer otra instancia de la cadena.
- El programa debe imprimir su salida en una línea, sin saltos de línea (use un '\ r' en lugar de un '\ n')
- Su programa debe ejecutarse hasta el infinito , hasta que un usuario interrumpa.
- Este es un codegolf, por lo que gana el código más corto en bytes.
- Hay un bono de 10% (redondeado hacia arriba al siguiente entero) para imprimir en color rojo sobre un fondo negro.
- Se aplican lagunas estándar.
Implementación de referencia en Python 2.7
Este programa no es golf, pero proporciona una implementación de referencia (y, por lo tanto, un límite superior para el tamaño).
import time,sys
s=raw_input()*99
while 1:
for i in range(80):
print s[i:i+80]+'\r',
sys.stdout.flush()
time.sleep(0.1)
1 2 3 4 5 6 7 8 9 10 11 ... 300
cortes después de aproximadamente 56.