使用随机选择功能时出错
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"]))
我正在尝试使用
打开随机链接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"]))