Inspiré par le prochain événement bash d'hiver
Objectif
Ajouter un chapeau ^
, ´
ou `
à une seule voyelle dans chaque mot de l'entrée.
Règles
- Le
hat
et levowel
doivent être choisis au hasard. Chaque chapeau doit apparaître avec la même probabilité (33%) et les voyelles doivent avoir la même probabilité dans les voyelles valides du mot (si le mot a 2 voyelles valides, chacune doit avoir 50% de chances d'être choisie) - ou la plus proche que votre langue a. - Seules
AEIOUaeiou
sont considérées comme des voyelles (désoléy
) - Les voyelles avec des chapeaux en entrée n'interfèrent pas avec les règles (vous pouvez le considérer comme une consonne)
- Si l'entrée n'a pas de voyelle, elle ne sera pas modifiée
- La capitalisation doit être préservée.
Exemples
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
Gagnant
C'est du code-golf donc le code le plus court l'emporte
get the current time
aléatoire?Réponses:
Perl 6 , 101 octets
Essayez-le
Étendu:
la source
C #,
273267 octetsdémo repl.it
J'ai vraiment l'impression de tricher, car j'ajoute toujours des chapeaux à des voyelles déjà accentuées créées en combinant des caractères . Si ce n'est pas acceptable, faites-le moi savoir afin que je puisse
ajouter des codes passe-partoutdéclarer cette réponse non concurrente.Cette chose ajoute un caractère aléatoire parmi U + 0300 ou U + 0301 ou U + 0302 , après une voyelle aléatoire de chaque mot d'entrée (le cas échéant).
Non golfé (corps lambda uniquement)
la source
Mathematica, 226 octets
Fonction sans nom prenant une liste de caractères en entrée et renvoyant une liste de caractères. Version plus facile à lire, légèrement non golfée également:
La ligne 13 divise l'entrée en mots (sous-listes de caractères) dans tous les espaces; chaque mot est opéré par la fonction définie par les lignes 4-12, et les résultats sont à nouveau réunis dans une seule liste par la ligne 3.
La ligne 4 définit
p
la liste des indices indiquant quels caractères du motw
sont des voyelles. S'il y a des voyelles (ligne 5), nous faisons un choix aléatoire d'un de ces indexi
(ligne 6), puis réinitialisons ce caractère unique du mot avec un nouveau caractère (lignes 7-10). Enfin, nous sortons le mot (éventuellement modifié)w
.Pour sélectionner le nouveau caractère, nous trouvons où se trouve la voyelle à remplacer dans la chaîne
v
et choisissons le code de caractère correspondanta
. Mais pour sélectionner aléatoirement les trois chapeaux, nous prenons ce code et ajoutons un entier aléatoire entre 0 et 2 (ligne 9) avant de reconvertir en caractère. (Heureusement, les voyelles béantes viennent toutes en trios consécutifs de codes de caractères UTF-8.)la source
Python 3, 170 octets
Non golfé:
la source
import
et*
.j+1 for
peut êtrej+1for
.