Kod na tej stronie szybko się wyczerpuje. Musimy inwestować w łańcuchy odnawialne. Musisz napisać program, który pobiera ciąg znaków i przekształca go w wiatrak.
Wyzwanie
Jako przykład weźmy prosty ciąg wiatraka. Weź sznurek abc. W tym przypadku oś jest postacią centralną b. Ponieważ łańcuch ma długość 3 znaków, każde wyjście będzie miało dokładnie trzy linie wysokości i trzy znaki szerokości. Oto Twój wynik z kroku 1. (Zwróć uwagę na białe znaki)
ABC
Aby przejść do następnego kroku, obróć każdą postać wokół osi obrotu w prawo. Oto krok 2:
za b do
Oto kroki 3-8:
za b do
za b do
cba
do b za
do b za
do b za
I na dziewiątym kroku, zatacza pełne koło oryginalnego łańcucha:
ABC
Zauważ, że bcały czas przebywałem w tym samym miejscu. Jest tak, ponieważ bjest to znak przestawny. Musisz napisać program lub funkcję, która pobiera ciąg znaków jako dane wejściowe i wielokrotnie drukuje tę sekwencję, aż program zostanie zamknięty.
Wyjaśnienia
Wszystkie ciągi wejściowe będą miały nieparzystą liczbę znaków. (Aby każdy wiatrak miał oś obrotu)
Aby zadanie było proste, wszystkie ciągi znaków będą zawierały tylko wielkie i małe litery alfabetu.
Dane wyjściowe muszą być
len(input_string)szerokie i wysokie.Nie ma znaczenia, od którego etapu sekwencji zaczniesz, tak długo, jak będziesz kontynuować obracanie i zapętlanie na zawsze.
Więcej testów IO:
Ponieważ post jest już dość długi, oto link do wyjścia dla „wiatraka”:
Dygresja:
Ponieważ ma to być wiatrak, byłoby wspaniale, gdybyś umieścił jakiś kod bojlera, aby go animować z małym opóźnieniem czasowym lub wkładem użytkownika między każdym krokiem. Ponieważ jednak niektóre języki nie mają wbudowanych funkcji czasu, nie jest to obowiązkowe. Konkurująca część Twojego zgłoszenia może po prostu wydrukować sekwencję tak szybko, jak to możliwe.