用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