<p><strong>简短回答</strong><br/>
查看Python字典以允许<code>1 = 'a'</code>类型分配。下面我有一个基于性别和一个“垃圾”的随机名字。在</p>
<p><strong>免责声明</strong><br/>
我不完全理解(通过代码)您试图用char/ord和一个随机字母来完成什么。另外请注意,我完全不知道您的设计目标或要求,我已经使示例比它可能需要用于教学目的更复杂。在</p>
<p><strong>其他资源</strong><br/>
*<a href="http://docs.python.org/tutorial/datastructures.html#dictionaries" rel="nofollow">Python Docs for dictionary</a><br/>
*<a href="http://www.daniweb.com/software-development/python/code/217019" rel="nofollow">Using Python dictionary relationship to search both ways</a></p>
<p><strong>响应上次编辑</strong><br/>
如果你想建立一个随机的“真实”名字,我想你最好的选择是使用一个大名单的名字和只是随机选择一个。如果我是你,我会调查一些与人口普查结果相关的东西:<a href="http://www.census.gov/genealogy/names/dist.male.first" rel="nofollow">males</a>和{a4}。注意那个男人_名称.txt还有女性_名称.txt是在人口普查网站上找到的名单的副本。作为免责声明,我确信有一种更有效的方式来加载/读取文件。就用这个例子作为概念的证明。在</p>
<p><strong>更新</strong><br/>
这里有一个快速而肮脏的方法来种子随机值。再一次,我不确定这是最Python的方式或最有效的方式,但它是有效的。在</p>
<p><strong>示例</strong></p>
<pre><code> import random
import time
def get_random_name(gender, seed):
if(gender == 'male'):
file = 'male_names.txt'
elif(gender == 'female'):
file = 'female_names.txt'
fid = open(file,'r')
names = []
total_names = 0
for line in fid:
if(line.lower().startswith(seed)):
names.append(line)
total_names = total_names + 1
random_index = random.randint(0,total_names)
return names[random_index]
if (__name__ == "__main__"):
print 'Welcome to Name Database 2.2\n'
print '1. Boy'
print '2. Girl'
bog = raw_input('\nGender: ')
print 'What should the name start with?'
print 'A, Ab, Abc, B, Ba, Br, etc...'
print ''
l = raw_input('Leter(s): ').lower()
new_name = ''
if bog == '1': # Boy
print get_random_name('male',l)
elif bog == '2':
print get_random_name('female',l)
</code></pre>
<p><strong>输出</strong></p>
^{2}$