使用随机选择功能时出错

Getting error while using the random choices function

我正在尝试使用

打开随机链接
webbrowser.open(random.choices("link1","link2","link3")

但是显示错误请查看并帮助我解决此问题。

我的代码:

webbrowser.open(random.choices("https://www.youtube.com/watch?v=YGf8JJZM_Yg", "https://www.youtube.com/watch?v=upsF9NULamA"))

我面临的错误:

    total = cum_weights[-1] + 0.0   # convert to float
TypeError: can only concatenate str (not "float") to str

而不是:

total = cum_weights[-1] + 0.0

尝试:

total = float(cum_weights[-1])

编辑:

对于 random.choices 的其他错误,试试这个:

webbrowser.open(random.choice(["https://www.youtube.com/watch?v=YGf8JJZM_Yg", "https://www.youtube.com/watch?v=upsF9NULamA"]))

random.choices 接受带有列表参数的单个参数,它不是实现中的 *args 表达式。

random.choices() 的参数必须是可迭代的,例如列表、元组等,如下所示:

random.choices(
("https://www.youtube.com/watch?v=YGf8JJZM_Yg", "https://www.youtube.com/watch?v=upsF9NULamA")
)

注意多出的一对括号。您可以传递任意数量的参数,但它们应该像这样给出:

random.choices((arg1, arg2, arg3, ...))

而不是:

random.choices(arg1, arg2, arg3, ...)

以下两个选项都有效:

使用 random.choice() 而不是 random.choices() 到 select 多个选项中只有一个选项。

1.

webbrowser.open(random.choice(("https://www.youtube.com/watch?v=YGf8JJZM_Yg", "https://www.youtube.com/watch?v=upsF9NULamA")))
webbrowser.open(random.choice(["https://www.youtube.com/watch?v=YGf8JJZM_Yg", "https://www.youtube.com/watch?v=upsF9NULamA"]))