O código neste site está sendo esgotado rapidamente. Precisamos investir em cadeias renováveis. Portanto, você deve escrever um programa que pegue uma string e a converta em um moinho de vento.
O desafio
Vamos dar um exemplo simples de um moinho de vento. Pegue a corda abc
. O pivô é o caractere central, neste caso b
. Como a string tem 3 caracteres, cada saída terá exatamente três linhas de altura e três caracteres de largura. Aqui está sua saída na etapa 1. (Observe o espaço em branco)
abc
Para obter o próximo passo, gire cada caractere ao redor do pivô no sentido horário. Aqui está o passo 2:
uma b c
Aqui estão as etapas 3 a 8:
uma b c
uma b c
cba
c b uma
c b uma
c b uma
E no nono passo, ele volta o círculo completo para a string original:
abc
Observe que o mesmo b
permaneceu no mesmo local o tempo todo. Isso ocorre porque b
é o caractere dinâmico. Você deve escrever um programa ou função que use uma string como entrada e imprima repetidamente essa sequência até que o programa seja fechado.
Esclarecimentos
Todas as seqüências de entrada terão um número ímpar de caracteres. (Para que todo moinho de vento tenha um pivô)
Para manter o desafio simples, todas as cadeias conterão apenas caracteres alfabéticos maiúsculos e minúsculos.
A saída deve ter
len(input_string)
caracteres largos e altos.Não importa em qual etapa da sequência você inicia, desde que continue girando e girando para sempre.
Mais IO de teste:
Como o post já é bastante longo, aqui está um link para a saída do "moinho de vento":
Nota:
Como esse é um moinho de vento, seria incrível se você incluísse algum código padrão para animá-lo com um pequeno atraso de tempo ou com uma entrada do usuário entre cada etapa. No entanto, como alguns idiomas não possuem tempo embutido, isso não é obrigatório. A parte concorrente do seu envio pode imprimir a sequência o mais rápido possível.