我试图创建一个程序,从一系列2个数字中选择一个随机数,有谁知道这是怎么做的?我查了一下,然后说要使用选择功能,但是出现了一个错误,说我在代码只需要2时给出了3个参数。
我需要做些什么才能让它在一个系列中选择一个随机数?
variable = [choice(a,b),choice(a,b)]
variable = choice(1,5,9,27) # variable should now = 1, 5, 9 or 27.
答案 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)