选择系列中的随机数(python)

时间:2014-03-29 14:27:31

标签: python random

我试图创建一个程序,从一系列2个数字中选择一个随机数,有谁知道这是怎么做的?我查了一下,然后说要使用选择功能,但是出现了一个错误,说我在代码只需要2时给出了3个参数。

我需要做些什么才能让它在一个系列中选择一个随机数?

variable = [choice(a,b),choice(a,b)]
variable = choice(1,5,9,27) #  variable should now = 1, 5, 9 or 27.

2 个答案:

答案 0 :(得分:1)

作为the documentation states,只需撰写choice((1, 5, 9, 27))

如果你写choice(1, 5, 9, 27),那就是将四个参数传递给函数。

如果你写choice((1, 5, 9, 27)),那就是传递一个参数,一个由四个元素(1, 5, 9, 27)组成的元组到该函数。

答案 1 :(得分:0)

错误消息有点误导。 random.choice(seq)需要一个序列。您可以传递一个对象,如值列表或元组 - 支持索引的任何内容。

如果你想传递两个值a和b,你必须将它们包装成可索引的东西。试试choice([a,b])choice((a,b))。这首先创建一个包含两个项目的列表或元组,然后将其传递给选择函数。

对同一事物更明确的表示法是:

seq = (a,b)
variable = choice(seq)