Код на цьому сайті швидко вичерпується. Нам потрібно інвестувати у відновлювані нитки. Отже, ви повинні написати програму, яка бере рядок і перетворює її на вітряк.
Змагання
Візьмемо для прикладу просту струну вітряного млина. Візьміть рядок abc
. В цьому випадку стрижень є центральним символом b
. Оскільки рядок має три символи в довжину, кожен висновок буде рівно трьома рядками у висоту та трьома знаками. Ось ваш результат на кроці 1. (Зверніть увагу на пробіли)
абс
Щоб отримати наступний крок, оберніть кожен символ навколо стрілки за годинниковою стрілкою. Ось крок 2:
а б c
Ось кроки 3-8:
а б c
а б c
cba
c б а
c б а
c б а
І на дев'ятому кроці відбувається повне коло до початкового рядка:
абс
Зауважте, що b
весь час перебували на одному місці. Це тому, що b
є стрижневим символом. Ви повинні написати програму або функцію, яка приймає рядок як вхідний і багаторазово друкує цю послідовність, поки програма не буде закрита.
Роз'яснення
Усі вхідні рядки матимуть непарну кількість символів. (Так що кожен вітряк матиме стрижень)
Щоб виклик був простим, усі рядки будуть містити лише верхні та малі символи алфавіту.
Вихідні дані повинні бути
len(input_string)
символами широкими та високими.Не має значення, на якому кроці послідовності ви починаєте, до тих пір, поки ви продовжуватимете обертання і циклівання назавжди.
Більше тестового IO:
Оскільки пост вже досить довгий, ось посилання на вихід для "вітряка":
Sidenote:
Оскільки це має бути вітряком, було б дивним, якщо ви включите якийсь код котла, щоб анімувати його з невеликою затримкою часу або користувацьким вкладом між кожним кроком. Однак, оскільки деякі мови не мають вбудованого часу, це не є обов'язковим. Конкуруюча частина подання може просто надрукувати послідовність якомога швидше.