Bu kadınsı mı Eril mi?


12

Yalnızca küçük harf az içeren tek bir dize alan ve sözcük temsil ettiği şeyin kadınsı sürümü ise ve eril sürümse bir falsy değeri içeren bir doğruluk değeri basan veya döndüren bir program veya işlev yazın . Örneğin, tavuk için kadınsı versiyonu ve erkeksi versiyonu, bu yüzden üretebilir ve üretebilir .henroosterhen1rooster0

Bunu , cinsiyeti yansıtan tüm İngilizce kelimeler için yapmak elbette çok hantal olur. Programınızın / fonksiyonunuzun sadece 20 erkeksi / kadınsı çiftini desteklemesi gerekir. Aşağıda konuya göre kategorize edilmiş 10 eril / kadınsı çiftten oluşan beş set bulunmaktadır. Setlerden herhangi birini seçin; bu iki setteki toplam 20 çift programınızın / fonksiyonunuzun çalışması gereken 40 kelimedir.

(biçim masculine_version feminine_version)

  1. Genel

    he she
    him her
    man woman
    boy girl
    male female
    masculine feminine
    guy gal
    lad lass
    mister miss
    sir madam
    
  2. Ailevi

    father mother
    dad mom
    pa ma
    son daughter
    brother sister
    husband wife
    grandfather grandmother
    grandpa grandma
    uncle aunt
    nephew niece
    
  3. Hayvan

    lion lioness
    rooster hen
    stallion mare
    bull cow
    drake duck
    boar sow
    buck doe
    ram ewe
    gander goose
    billy nanny
    
  4. Kraliyet

    king queen
    prince princess
    emperor empress
    duke duchess
    marquess marchioness
    earl countess
    baron baroness
    baronet baronetess
    lord lady
    knight dame
    
  5. Fantastik

    wizard witch
    giant giantess
    incubus succubus
    nidorino nidorina
    nidoking nidoqueen
    ents entwives
    hanuvoite inimeite
    centaur centaurides
    merman mermaid
    khal khaleesi
    

Örneğin, Genel ve Ailesel kategorilerini seçebilirsiniz. Daha sonra herhangi bir giriş heiçin sirveya fatherhiç nephewbir falsy değeri üretecektir ve herhangi bir giriş sheiçin madamveya motherhiç niecebir truthy değeri üretecektir.

Değerlerin hepsi aynı doğruluk / falsili tipte olmak zorunda değildir, örneğin heüretebilir 0ancak sirüretebilir false. Seçtiğiniz iki kategoriden yalnızca 40'a özgü küçük harf az kelimesinin girildiğini varsayabilirsiniz.

Bayt cinsinden en kısa cevap kazanır. Tiebreaker önceki gönderi.

(Bu meydan okuma, mevcut toplumsal cinsiyete dayalı sosyal konularla ilgili veya bununla ilgili açıklama yapmak anlamına gelmez .)



countEril olmamalı mı countess?
mbomb007

@ mbomb007 Mutlaka değil.
Calvin'in Hobileri

3
Üç cevap, hepsi Retina.
Alex A.

Yanıtlar:


9

Retina , 26 bayt (set 4, 5)

[^u]es|ee|m.i|y|^...c|d.*a

Retina @ MartinBüttner'in regex dilidir. Ben normal regexes için özel bir şey kullanmadım, bu yüzden regex burada Regex101 test edebilirsiniz . Alternatif olarak Retina'nın grep Gmodunu şöyle kullanabilirsiniz :

G`[^u]es|ee|m.i|y|^...c|d.*a

ve parti testi için satır başına bir kelime içeren bir dosyada borulama.

Retina, eşleşme sayısını varsayılan olarak verir ve bize doğruluk / falsy değerimizi verir. "Değerlerin hepsi aynı doğruluk / falsy tipi olmak zorunda değildir" kuralı oldukça önemlidir, ancak marchionessiki kez eşleştiği için 2 çıktı verir.

( Önceki erkek / kadın sorusundaki mod zincirleme yöntemini kullanmak CJam'de daha kısa görünüyor, ancak başka birinin bunu yapmasına izin vereceğim)


2
zaman düzenli bir ifadeyle asla boşa harcanmaz
CousinCocaine


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.