Il codice su questo sito si sta rapidamente esaurendo. Dobbiamo investire in stringhe rinnovabili. Quindi devi scrivere un programma che prende una stringa e la converte in un mulino a vento.
La sfida
Prendiamo ad esempio una semplice stringa da mulino a vento. Prendi la corda abc. Il perno è il personaggio centrale, in questo caso b. Poiché la stringa è lunga 3 caratteri, ogni output sarà esattamente alto tre righe e largo tre caratteri. Ecco il tuo output al passaggio 1. (Nota lo spazio bianco)
abc
Per ottenere il passaggio successivo, ruota ciascun personaggio attorno al perno in senso orario. Ecco il passaggio 2:
un' B c
Ecco i passaggi 3-8:
un' B c
un' B c
cba
c B un'
c B un'
c B un'
E al nono gradino, arriva attorno al cerchio completo della stringa originale:
abc
Si noti che è brimasto nello stesso posto per tutto il tempo. Questo perché bè il personaggio pivot. È necessario scrivere un programma o una funzione che accetta una stringa come input e stampa ripetutamente questa sequenza fino alla chiusura del programma.
chiarimenti
Tutte le stringhe di input avranno un numero dispari di caratteri. (In modo che ogni mulino a vento avrà un perno)
Per semplificare la sfida, tutte le stringhe conterranno solo caratteri alfabetici maiuscoli e minuscoli.
L'output deve essere
len(input_string)largo e largo.Non importa da quale fase della sequenza inizi, purché continui a ruotare e ad avvolgere per sempre.
Altro test IO:
Poiché il post è già piuttosto lungo, ecco un link all'output di "mulino a vento":
Nota a margine:
Dal momento che si suppone che questo sia un mulino a vento, sarebbe fantastico se includessi un codice di targa di caldaia per animarlo con un piccolo ritardo o un input dell'utente tra ogni passaggio. Tuttavia, poiché alcune lingue non dispongono di built-in per il tempo, questo non è obbligatorio. La parte concorrente dell'invio può semplicemente stampare la sequenza il più velocemente possibile.