Dada una cadena de arte ASCII como tal (Esto no es arte ASCII pero servirá para el ejemplo):
abc
d e
fgh
Agítelo como si se mostrara en una pantalla con un carácter por línea, así:
a
b
c
d
e
f
g
h
Imprima el resultado, espere un segundo, ± 0.5 segundos antes de limpiar el terminal y la impresión de la misma manera, pero con 2 caracteres mostrados por línea en lugar de 1. Básicamente, el ancho de la pantalla cambia de 1 a 2.
ab
c
d
e
fg
h
Tenga en cuenta el espacio después de d
. Repita la espera, luego imprima con un carácter adicional por línea hasta que salga el texto ingresado.
Si toca el final de una línea cuando intenta imprimir caracteres, inserte una nueva línea e imprima el resto siguiendo esta regla. Por ejemplo la entrada:
abcdefg
ab
Imprimiría lo siguiente cuando la longitud de la pantalla sea 4.
abcd
efg
ab
Puede encontrar el efecto del cambio de tamaño del terminal aquí: https://repl.it/GoeU/1 . Ejecute el programa, luego arrastre la cosa que separa el terminal del editor de texto de un lado a otro.
Aclaración:
Una vez que una línea aparece exactamente como se ingresó, puede dejar esa línea sola para futuros recuentos de caracteres más grandes por línea.
abc
ab
debería imprimir
ab
c
ab
cuando la longitud de la oración = 2.
Este es el código de golf , por lo que gana la menor cantidad de bytes.
Reglas:
- Debe imprimir en STDOUT como la única salida.
- Debe borrar el terminal o crear la ilusión de borrar el terminal agregando aproximadamente 150 líneas vacías.
- Puede recibir información a través de los métodos estándar.
- Se aplican las lagunas predeterminadas.
- El seguimiento de cosas con el texto NO ESTÁ BIEN.
Esta idea se me ocurrió cuando estaba cambiando el tamaño de un terminal con arte ASCII. Parecía interesante, así que decidí hacer un desafío.
Casos de prueba:
Dado que sería demasiado trabajo mostrar cada paso para cada caso de prueba individualmente, revisaré cada respuesta para asegurarme de que sea válida. Asegúrese de que la respuesta pueda manejar los casos de prueba.
______ ______ __ __ __ ______ __ __ ______
/\ == \ /\ == \ /\ \ /\ "-.\ \ /\__ _\ /\ "-./ \ /\ ___\
\ \ _-/ \ \ __< \ \ \ \ \ \-. \ \/_/\ \/ \ \ \-./\ \ \ \ __\
\ \_\ \ \_\ \_\ \ \_\ \ \_\\"\_\ \ \_\ \ \_\ \ \_\ \ \_____\
\/_/ \/_/ /_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_____/
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Python 3.5 (
238233229225223222 bytes)- Funciona bien en la terminal de Windows; no estoy seguro acerca de otras plataformas, debido al comando os.system ("cls") específico del sistema.
- La cadena pasada debe marcarse con \ n para líneas nuevas, por ejemplo: 'abc \ nd efgh \ n'
fuente
z=print
en la parte superior y luego cambiando todas las demás instancias deprint()
az()
.print
conrange
, y en lugar derange(0,3)
usarrange(3)
.sleep(0.5)
puede reescribirse como simplementesleep(.5)