python
import random
def natural(n, f=0):
    """Renvoie un nombre naturel"""
    if n < f:
        return f
    else:
        return int(round(n))
def nrg(mu, sigma=1.2, f=0, t=None):
    """Renvoie la distribution gaussienne sous forme de nombre naturel"""
    num = natural(random.SystemRandom().gauss(mu, sigma), f)
    if (t is not None) and (num > t):
        return t
    else:
        return num
def rchp(seq, i=1):
    """Renvoie une liste sélectionnée au hasard dans la liste"""
    return [random.SystemRandom().choice(list(seq)) for n in range(i)]
def uwords(fword, lword):
    """Caractère continu Unicode"""
    return {chr(  n  ) for n in range(  ord( str(fword) ),  ord( str(lword) ), +1  )}
class wset:
    """Constantes de caractères Hiragana et Katakana"""
    hira = uwords("Ah", "Hmm") | {"ゝ", "ゞ"}
    kata = uwords("UNE", "ヾ") - {"・", "Mois", "Mois"}
    thira = hira - {"Ah", "je", "U", "Eh", "Mm", "Tsu", "Ya", "Shu", "Yo", "ゝ", "ゞ", "ゎ", "-", "Hmm"}
    tkata = kata - {"UNE", "je", "U", "E", "Oh", "Tsu", "Turbocompresseur", "Yu", "Yo", "ヽ", "ヾ", "ヮ", "-", "Vers le bas"}
    dhira = thira  | {"Kya", "Kyu", "Kyo", "Gya", "Gyu", "Gyo", "Shah", "Shu", "Sho", "À plus", "Ju", "Jo", "Cha", "Chu", "Cho", "Nya", "Nyu", "Nyo", "Hyah", "Hyu", "Hyo", "Mya", "Myu", "Myo", "Rya", "Ryu", "Ryo","ゝ", "ゞ", "-", "Hmm"}
    dkata = tkata | {"Californie", "Kyu", "Kyo", "Géorgie", "Gyu", "Gyo", "Sha", "Shu", "Spectacle", "Ja", "Ju", "Jo", "Nya", "Nouveau", "Nyo", "Mya", "Mu", "Myo", "Hya", "Huh", "Hyo", "Cha", "Chu", "Cho", "Lya", "Ryu", "Ryo", "Virginie", "Vi", "Ve", "-", "Vers le bas"}
def rname(segment=2.4, namerange=5.3, hiragana=wset.dhira, katakana=wset.dkata, sep=" = "):
    """Renvoie un nom aléatoire (au-delà de l'imagination humaine)"""
    rsam = random.SystemRandom().sample
    rint = random.randint
    segs = []
    namerange -= 1
    for n in range(nrg(segment, 0.5, 1)):
        choicer = rint(0, 100)
        if choicer <= 10:
            l = rchp(wset.thira,1) + rchp(hiragana, nrg(namerange))
        else:
            l = rchp(wset.tkata,1) + rchp(katakana, nrg(namerange))
            
        segs.append(''.join(l))
    return sep.join(segs)
print(rname())
Les nombres aléatoires sont bons! Il y a longtemps, j'ai écrit une fonction qui renvoie un nom aléatoire, alors je l'ai postée. Si vous avez du mal à générer un nom unique auquel les humains ne peuvent pas penser, essayez de l'utiliser.
Recommended Posts