
Untitled
By: a guest on
Jun 21st, 2012 | syntax:
None | size: 2.02 KB | hits: 23 | expires: Never
Simple random name generator in Python
# create the dict and save it to a file
d={
'part1':[
'Ae',
'Di',
'Mo',
'Fam',],
'part2':[
'dar',
'kil',
'glar',
'tres',],
}
import pickle
f=open('syllables','w')
pickle.dump(d,f)
f.close()
# read the dict back in from the file
f1=open('syllables','r')
sd=pickle.load(f1)
f1.close()
import random
first_part=sd['part1'][random.randint(0,len(sd['part1'])-1)]
second_part=sd['part2'][random.randint(0,len(sd['part2'])-1)]
print '%s%s'%(first_part,second_part)
# create the dict and save it to a file
d={
'part1':[
'Ae',
'Di',
'Mo',
'Fam',],
'part2':[
'dar',
'kil',
'glar',
'tres',],
}
import pickle
f=open('syllables','w')
pickle.dump(d,f)
f.close()
# read the dict back in from the file
f1=open('syllables','r')
sd=pickle.load(f1)
f1.close()
import random
first_part=sd['part1'][random.randint(0,len(sd['part1'])-1)]
second_part=sd['part2'][random.randint(0,len(sd['part2'])-1)]
print '%s%s'%(first_part,second_part)
import random
parts = {}
with open('parts.txt', 'r') as f:
currentList = []
for line in f.readlines():
line = line.strip()
if line.startswith('[') and line.endswith(']'):
currentList = []
parts[line[1:-1]] = currentList
else:
currentList.append(line.strip())
for i in xrange(10):
print ''.join(random.choice(parts[partName]) for partName in sorted(parts))
Aekil
Didar
Mokil
Mokil
Moglar
Moglar
Diglar
Famdar
Famdar
Modar
#!/usr/bin/env python
import fileinput
import random
import re
from collections import defaultdict
partname = ''
parts = defaultdict(list)
for line in fileinput.input():
line = line.rstrip()
if line.startswith('[') and re.match(r'[partd+]', line):
partname = line
else:
parts[partname].append(line)
parts_list = list(map(parts.get, sorted(parts)))
for _ in range(10):
print(''.join(map(random.choice, parts_list)))
Famglar
Famkil
Didar
Ditres
Aedar
Famglar
Ditres
Famtres
Ditres
Modar