Écrivez un programme ou une fonction qui prend une chaîne unique ne contenant que des z minuscules et imprime ou renvoie une valeur vraie si le mot est la version féminine de la chose qu'il représente et une valeur fausse s'il s'agit de la version masculine . Par exemple, hen
est la version féminine pour le poulet et rooster
est la version masculine, donc hen
pourrait produire 1
et rooster
pourrait produire 0
.
Faire cela pour tous les mots anglais qui reflètent le genre serait bien sûr trop compliqué. Votre programme / fonction ne doit prendre en charge que 20 paires masculin / féminin. Vous trouverez ci-dessous cinq ensembles de 10 paires masculin / féminin, classés par sujet. Choisissez deux des ensembles; les 20 paires totales dans ces deux ensembles sont les 40 mots pour lesquels votre programme / fonction doit fonctionner.
(le format est masculine_version feminine_version
)
Général
he she him her man woman boy girl male female masculine feminine guy gal lad lass mister miss sir madam
Familial
father mother dad mom pa ma son daughter brother sister husband wife grandfather grandmother grandpa grandma uncle aunt nephew niece
Animal
lion lioness rooster hen stallion mare bull cow drake duck boar sow buck doe ram ewe gander goose billy nanny
Royal
king queen prince princess emperor empress duke duchess marquess marchioness earl countess baron baroness baronet baronetess lord lady knight dame
Fantastique
wizard witch giant giantess incubus succubus nidorino nidorina nidoking nidoqueen ents entwives hanuvoite inimeite centaur centaurides merman mermaid khal khaleesi
Ainsi, par exemple, vous pouvez choisir les catégories Général et Familial. Ensuite, toute entrée de he
à sir
ou father
à nephew
produirait une valeur fausse, et toute entrée de she
à madam
ou mother
à niece
produirait une valeur vraie.
Il n'est pas nécessaire que toutes les valeurs soient du même type véridique / falsifié, par exemple, elles he
pourraient produire 0
mais sir
pourraient produire false
. Vous pouvez supposer que seuls les 40 mots az minuscules spécifiques de vos deux catégories sélectionnées sont jamais entrés.
La réponse la plus courte en octets l'emporte. Tiebreaker est un post antérieur.
(Ce défi n'est pas censé être en corrélation avec ou faire des déclarations sur les problèmes sociaux actuels liés au genre .)
la source
count
être le masculin decountess
?Réponses:
Rétine , 26 octets (ensembles 4, 5)
Retina est le langage d'expression régulière de @ MartinBüttner. Je n'ai utilisé rien de spécifique aux expressions régulières .NET, vous pouvez donc tester l'expression régulière à Regex101 ici . Alternativement, vous pouvez utiliser le
G
mode grep de Retina comme ceci:et canalisez dans un fichier avec un mot par ligne pour les tests par lots.
Retina affiche le nombre de correspondances par défaut, nous donnant notre valeur de vérité / fausse. La règle "les valeurs ne doivent pas toutes être du même type véridique / falsifié" est assez importante car elle
marchioness
correspond deux fois, donnant une sortie de 2.(L'utilisation de la méthode de chaînage de mod de la question précédente homme / femme semble être plus courte dans CJam, mais je laisserai quelqu'un d'autre faire cela)
la source
Rétine,
3932 octets (ensembles 2, 4)La comptabilité
marquess
était ennuyeuse, car l'utilisationma
était le meilleur moyen d'obtenir certaines des femmes.Essayez-le ici
Merci à Sp3000 pour sa suggestion de golf.
la source
$
pour ça.Rétine, 28 octets (ensembles 3,4)
Retina utilise l'expression régulière .NET, mais toute saveur devrait fonctionner. Testez-le sur Regex101 .
la source