Виклик
Для кожного символу рядка, крім останнього, виконайте наступне:
Виведіть поточний символ.
Слідом за випадковим виведенням із наступного списку випадкове число разів між 1 - 5 (включно):
- Поточний персонаж
- Наступний символ рядка
- Версія комутатора символу, на якому ви зараз перебуваєте
- Версія комутатора наступного символу рядка.
Випробування
String
-> SSSTSStrTrIiinIIngn
, . , . , . Hello world!
-> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D
Programming Puzzles and Code Golf
-> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS a aANnNddD C COCoooOOdeDe E GGGoOllFFf
Примітки
- Застосовувати комутаційну версію символу потрібно лише у тому випадку, якщо символ є частиною алфавіту (AZ та az).
- Ваша випадкова функція не повинна бути рівномірною, але вона все одно повинна мати шанс повернути будь-який елемент у наведеному списку.
- Ви можете використовувати будь-який стандартний формат вводу / виводу.
- Ви можете припустити, що довжина вводу більша або дорівнює двом.
- Ви можете припустити, що вхід складається лише з символів ASCII.
- Назва не є тестовим випадком (це ненавмисне, якщо це дійсний тестовий випадок).
- Перемикач означає перетворити знак на малі, якщо він є великими, а якщо він є малим.
String
виробляєтьсяSSSTSStrTrIiinIIngn
[S]SSTSS [t]rT, [r]I, [i]inII, [n]gn
де символи між блоками є першими точками кулі (" Вивести поточний символ "), а інші символи 1-5 разів випадковим чином - один із чотирьох варіантів для цього характер. Але я згоден, деякі більш чіткі пояснення були б доречними. Окрім тестового випадку, було не особливо зрозуміло, ми маємо підібрати випадковий вибір 1-5 разів. Замість вибору випадкового вибору повторюємо 1-5 разів (як це робить відповідь Гая).