Вдохновленный предстоящим зимним событием
Цель СССР
Добавьте шляпу ^
, ´
или `
к одному гласному в каждом слове входа.
правила
hat
Иvowel
должен быть выбран случайным образом . Каждая шляпа должна появляться с одинаковой вероятностью (33%), и гласные должны иметь одинаковую вероятность в пределах допустимых гласных в слове (если слово имеет 2 действительных гласных, каждый должен быть выбран с вероятностью 50%) - или ближайший что ваш язык имеет.- Только
AEIOUaeiou
считаются гласными (извинитеy
) - Гласные с шапками на входе НЕ мешают правилам (это можно считать согласной)
- Если у ввода нет гласного, оно не будет изменено
- Капитализация должна быть сохранена.
Примеры
winter
> wintér
bash
> bâsh
rhythm
> rhythm
rng ftw
> rng ftw
cat in the hat
> cât ìn thê hát
dès
> dès
tschüss
> tschüss
principî
> prìncipî
PROGRAMMING PUZZLES & code golf
>PROGRÂMMING PÚZZLES & codé gòlf
выигрыш
Это код-гольф, поэтому выигрывает самый короткий код
get the current time
случайно?Ответы:
Perl 6 , 101 байт
Попытайся
Expanded:
источник
C #,
273267 байтrepl.it demo
Я действительно чувствую, что я обманываю, так как я все еще добавляю шляпы к уже акцентированным гласным, созданным комбинированием персонажей . Если это не приемлемо, дайте мне знать, чтобы я мог
добавить стандартные коды,объявляющие этот ответ неконкурентным.Эта вещь добавляет случайный символ из U + 0300 или U + 0301 или U + 0302 после случайного гласного каждого входного слова (если оно есть).
Ungolfed (только лямбда-тело)
источник
Mathematica, 226 байт
Безымянная функция, принимающая список символов в качестве входных данных и возвращающая список символов. Более легкая для чтения версия, также слегка раскрученная:
Строка 13 разбивает ввод на слова (подсписки символов) во всех пробелах; каждое слово обрабатывается функцией, определенной в строках 4-12, и результаты снова объединяются в один список в строке 3.
Строка 4 устанавливает
p
список индексов, указывающих, какие символы словаw
являются гласными. Если есть какие-либо гласные (строка 5), мы делаем случайный выбор одного такого индексаi
(строка 6), а затем возвращаем этот единственный символ слова в новый символ (строки 7-10). Наконец мы выводим (возможно, измененное) словоw
.Чтобы выбрать новый символ, мы находим место замены гласного в строке
v
и выбираем соответствующий код символаa
. Но чтобы случайным образом выбрать три шляпы, мы берем этот код и добавляем случайное целое число от 0 до 2 (строка 9), прежде чем вернуться обратно к символу. (К счастью, все гласные гласные входят в последовательные трио кодов символов UTF-8.)источник
Python 3, 170 байт
Ungolfed:
источник
import
и*
.j+1 for
может бытьj+1for
.