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