尝试生成随机数量的[
或]
。
sample = random.choice("[]")
以上打印[
或]
,如何才能打印其中一个或两个的随机数?
答案 0 :(得分:3)
随机重复该过程:
[random.choice(['[', ']', '[]']) for _ in range(random.randint(1, 10))]
将生成一个列表,其中包含最多 10个随机选择的三个可用选项,从至少一个开始。请注意,我使用了3个字符串的列表,而不仅仅是2个字符。
演示:
>>> import random
>>> [random.choice(['[', ']', '[]']) for _ in range(random.randint(1, 10))]
[']', '[]']
>>> [random.choice(['[', ']', '[]']) for _ in range(random.randint(1, 10))]
['[', '[]', ']', '[]', '[]', '[]', '[]']
如果您需要将其作为一个字符串,请使用str.join()
来连接结果:
''.join([random.choice(['[', ']', '[]']) for _ in range(random.randint(1, 10))])
请注意,这会产生一个长度在1到20个字符之间的字符串,因为您连接最多10个字符串的随机选择,每个字符串长1或2个字符。如果您需要最多10个字符的字符串,请使用random.choice('[]')
。
答案 1 :(得分:1)
您可以在random.randint
中使用range
并使用for循环来创建随机数[
或]
。
>>> def random_printer(N):
... for _ in range(random.randint(1,N)):
... print (random.choice(('[', ']', '[]')))
...
演示:
>>> random_printer(5)
[
]
>>> random_printer(10)
[]
[]
]
>>> random_printer(10)
[]
[
[
[]
[]
]
]
]
[]