用Python生成一个随机字母

有没有办法在Python中产生随机字母(像random.randint,但字母)? random.randint的范围函数将会很好,但是只有输出一个随机字母的生成器会比没有更好。

简单:

>>> import string >>> string.letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> import random >>> random.choice(string.letters) 'j' 

string.letters根据当前语言环境返回一个包含小写和大写字母的string; 如果这是不可接受的, string.ascii_letters可能会伎俩。

random.choice从一个序列中返回一个单一的随机元素。

 >>> import random >>> import string >>> random.choice(string.ascii_letters) 'g' 
 >>> import random >>> import string >>> random.choice(string.ascii_lowercase) 'b' 
 >>>def random_char(y): return ''.join(random.choice(string.ascii_letters) for x in range(y)) >>>print (random_char(5)) >>>fxkea 

生成y个随机字符

另一种方式,为了完整性:

 >>> chr(random.randrange(97, 97 + 26 + 1)) 

使用ascii '是97的事实,并且在字母表中有26个字母。

 def randchar(a, b): return chr(random.randint(ord(a), ord(b))) 
 import random def guess_letter(): return random.choice('abcdefghijklmnopqrstuvwxyz') 

你可以做一个清单:

 import random list1=[a,b,c,d,e,f,g,h] b=random.randint(0,7) print(list1[b]) 
 import string import random KEY_LEN = 20 def base_str(): return (string.letters+string.digits) def key_gen(): keylist = [random.choice(base_str()) for i in range(KEY_LEN)] return ("".join(keylist)) 

你可以得到这样的随机string:

 g9CtUljUWD9wtk1z07iF ndPbI1DDn6UvHSQoDMtd klMFY3pTYNVWsNJ6cs34 Qgr7OEalfhXllcFDGh2l 

也许这可以帮助你:

 import random for a in range(64,90): h = random.randint(64, a) e += chr(h) print e 

在键盘上放一个python,让他翻转的信件,直到你find你喜欢的随机组合只是在开玩笑!

 import string #This was a design above but failed to print. I remodled it. import random irandom = random.choice(string.ascii_letters) print irandom