El código en este sitio se está agotando rápidamente. Necesitamos invertir en cadenas renovables. Por lo tanto, debe escribir un programa que tome una cadena y la convierta en un molino de viento.
El reto
Tomemos una simple cadena de molino de viento como ejemplo. Toma la cuerda abc
. El pivote es el carácter central, en este caso b
. Como la cadena tiene 3 caracteres de longitud, cada salida tendrá exactamente tres líneas de alto y tres caracteres de ancho. Aquí está su salida en el paso 1. (Tenga en cuenta el espacio en blanco)
a B C
Para obtener el siguiente paso, gire cada personaje alrededor del pivote en el sentido de las agujas del reloj. Aquí está el paso 2:
un si C
Aquí están los pasos 3-8:
un si C
un si C
cba
C si un
C si un
C si un
Y en el noveno paso, se completa el círculo hasta la cadena original:
a B C
Tenga en cuenta que b
permanecieron en el mismo lugar todo el tiempo. Esto se debe a que b
es el carácter pivote. Debe escribir un programa o función que tome una cadena como entrada e imprima repetidamente esta secuencia hasta que se cierre el programa.
Aclaraciones
Todas las cadenas de entrada tendrán un número impar de caracteres. (Para que cada molino de viento tenga un pivote)
Para mantener el desafío simple, todas las cadenas solo contendrán caracteres del alfabeto en mayúsculas y minúsculas.
La salida debe ser
len(input_string)
caracteres anchos y altos.No importa en qué paso de la secuencia comience, siempre y cuando continúe girando y dando vueltas para siempre.
Más prueba IO:
Como la publicación ya es bastante larga, aquí hay un enlace a la salida de "windmill":
Nota al margen:
Como se supone que es un molino de viento, sería increíble si incluye algún código repetitivo para animarlo con un pequeño retraso de tiempo o una entrada del usuario entre cada paso. Sin embargo, dado que algunos idiomas no tienen tiempo incorporado, esto no es obligatorio. La parte competitiva de su envío puede imprimir la secuencia lo más rápido posible.