Inspirado no próximo evento de inverno
Objetivo
Adicionar um chapéu ^
, ´
ou `
a uma única vogal em cada palavra de entrada.
Regras
- O
hat
e ovowel
devem ser escolhidos aleatoriamente. Cada chapéu deve aparecer com a mesma probabilidade (33%) e as vogais devem ter a mesma probabilidade nas vogais válidas da palavra (se a palavra possuir 2 vogais válidas, cada uma deve ter 50% de probabilidade de ser escolhida) - ou a mais próxima que seu idioma tem. - Somente
AEIOUaeiou
são consideradas vogais (desculpey
) - Vogais com chapéus na entrada NÃO interferem nas regras (você pode considerá-lo uma consoante)
- Se a entrada não tiver vogal, não será modificada
- A capitalização deve ser preservada.
Exemplos
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
Ganhando
Isso é código-golfe, então o código mais curto vence
get the current time
aleatório?Respostas:
Perl 6 , 101 bytes
Tente
Expandido:
fonte
C #,
273267 bytesdemo repl.it
Eu realmente sinto que estou trapaceando, pois ainda adiciono chapéus às vogais já acentuadas criadas pela combinação de personagens . Se isso não for aceitável, informe-me para que eu possa
adicionar códigos padrão,declarando esta resposta como não concorrente.Essa coisa adiciona um caractere aleatório entre U + 0300 ou U + 0301 ou U + 0302 , após uma vogal aleatória de cada palavra de entrada (se houver).
Ungolfed (apenas corpo lambda)
fonte
Mathematica, 226 bytes
Função sem nome, recebendo uma lista de caracteres como entrada e retornando uma lista de caracteres. Versão mais fácil de ler, também levemente destruída:
A linha 13 divide a entrada em palavras (sublistas de caracteres) em todos os espaços; cada palavra é operada pela função definida pelas linhas 4-12 e os resultados são reunidos novamente em uma única lista pela linha 3.
A linha 4 define
p
a lista de índices indicando quais caracteres da palavraw
são vogais. Se houver vogais (linha 5), escolhemos aleatoriamente um desses índicesi
(linha 6) e, em seguida, redefinimos esse caractere único da palavra para um novo caractere (linhas 7-10). Finalmente, emitimos a palavra (possivelmente modificada)w
.Para selecionar o novo caractere, descobrimos onde a vogal a ser substituída fica na string
v
e escolhe o código de caractere correspondentea
. Mas, para selecionar aleatoriamente os três chapéus, pegamos esse código e adicionamos um número inteiro aleatório entre 0 e 2 (linha 9) antes de converter novamente em um caractere. (Felizmente, todas as vogais contidas vêm em trios consecutivos de códigos de caracteres UTF-8.)fonte
Python 3, 170 bytes
Ungolfed:
fonte
import
e*
.j+1 for
pode serj+1for
.