Python 如何在条件语句中使用random.choices变量

Python 如何在条件语句中使用random.choices变量,python,python-3.x,Python,Python 3.x,我试图在IF语句中使用从列表中随机选择的项目,我的程序无法识别Newchoice变量,即使我将其赔率设置为100%的时间赔率=[100,0,0] 这是我目前的代码: 随机输入 主题=[复古、科技、运动] 赔率=[100,0,0] Newchoice=random.ChoiceSubjects,赔率,k=1 printNewchoice 如果Newchoice==Retro: 印刷成功 我希望输出结果显示: [“复古”] 成功 但我得到的只是: [“复古”] random.choices返回一个列

我试图在IF语句中使用从列表中随机选择的项目,我的程序无法识别Newchoice变量,即使我将其赔率设置为100%的时间赔率=[100,0,0]

这是我目前的代码:

随机输入 主题=[复古、科技、运动] 赔率=[100,0,0] Newchoice=random.ChoiceSubjects,赔率,k=1 printNewchoice 如果Newchoice==Retro: 印刷成功 我希望输出结果显示:

[“复古”] 成功 但我得到的只是:

[“复古”] random.choices返回一个列表,因此NewChoice引用了一个包含字符串Retro的列表,但您正在与字符串Retro进行比较

您可以进行列表比较:

if Newchoice == ["Retro"]:
或通过获取第一个且仅作为k=1元素的字符串比较:

random.choices返回一个列表,因此NewChoice引用了一个包含字符串Retro的列表,但您正在与字符串Retro进行比较

您可以进行列表比较:

if Newchoice == ["Retro"]:
或通过获取第一个且仅作为k=1元素的字符串比较:


这是因为random.choices返回一个列表,您正在将其与字符串进行比较。 [复古]!=复古的。从列表中选取第一个也是唯一一个元素,它就会工作

Newchoice = random.choices(Subjects, odds, k=1)[0]

这是因为random.choices返回一个列表,您正在将其与字符串进行比较。 [复古]!=复古的。从列表中选取第一个也是唯一一个元素,它就会工作

Newchoice = random.choices(Subjects, odds, k=1)[0]