Kud*_*udu 129 python random python-3.x
有没有办法在Python中生成随机字母(如random.randint但字母)?random.randint的范围功能会很好但是有一个只输出随机字母的生成器会比什么都好.
Mar*_*off 217
简单:
>>> import string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> import random
>>> random.choice(string.ascii_letters)
'j'
Run Code Online (Sandbox Code Playgroud)
string.ascii_letters根据当前语言环境返回包含小写字母和大写字母的字符串; 如果这是不可接受的,random.choice可能会做的伎俩.
string.ascii_letters 从序列中返回单个随机元素.
joa*_*uin 70
>>> import random
>>> import string
>>> random.choice(string.ascii_letters)
'g'
Run Code Online (Sandbox Code Playgroud)
Saa*_*aad 26
>>>def random_char(y):
return ''.join(random.choice(string.ascii_letters) for x in range(y))
>>>print (random_char(5))
>>>fxkea
Run Code Online (Sandbox Code Playgroud)
生成y个随机字符
Tay*_*ese 21
>>> import random
>>> import string
>>> random.choice(string.ascii_lowercase)
'b'
Run Code Online (Sandbox Code Playgroud)
rlo*_*tun 11
另一种方式,为了完整性:
>>> chr(random.randrange(97, 97 + 26))
Run Code Online (Sandbox Code Playgroud)
使用ascii'a'为97 的事实,字母表中有26个字母.
您可以使用它来获取一个或多个随机字母
import random
import string
random.seed(10)
letters = string.ascii_lowercase
rand_letters = random.choices(letters,k=5) # where k is the number of required rand_letters
print(rand_letters)
['o', 'l', 'p', 'f', 'v']
Run Code Online (Sandbox Code Playgroud)
小智 6
这不使用任何花哨的模块,但工作正常:
''.join(chr(random.randrange(65,90)) for i in range(10))
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以列一个清单:
import random
list1=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
b=random.randint(0,7)
print(list1[b])
Run Code Online (Sandbox Code Playgroud)