我想知道如何在Python中打印随机字符串。 我希望这是一个像“ayhbygb”这样的随机字符串,并且是一个随机数量的字母。所以,有一次,它可以打印“a”,下次它可以打印“aiubfiub”,或“aiuhiu”等。
有人可以告诉我这是怎么做的吗?
答案 0 :(得分:5)
您可以执行此操作,但是,您必须指定字符串的最大长度。您也可以随时为max_length
生成随机数。
import random, string
def random_string(length):
return ''.join(random.choice(string.lowercase) for i in range(length))
max_length = 5
print(random_string(random.randint(1, max_length)))
以下是5个测试用例:
print(random_string(random.randint(1, max_length)))
print(random_string(random.randint(1, max_length)))
print(random_string(random.randint(1, max_length)))
print(random_string(random.randint(1, max_length)))
print(random_string(random.randint(1, max_length)))
他们的输出是:
wl
crhxl
uvl
ty
iuydl
您当然可以通过将max_length
变量更改为您喜欢的任何内容来更改字符串的最大长度。
答案 1 :(得分:0)
变量字符串,可变长度:
>>>import random, string
>>>max_rand_str_length = 10
>>> def genCustomString():
... return ''.join(random.choice(string.lowercase) for _ in range(random.choice(range(1, max_rand_str_length))))
...
>>> genCustomString()
'v'
>>> genCustomString()
'mkmylzc'
>>> genCustomString()
'azp'
>>> genCustomString()
答案 2 :(得分:0)
可能不是最优雅的,但这应该可以解决问题。如果你只想要小写,你可以用string.ascii_lowercase替换“string.ascii_letters”。
-U:lock:w:...