簡體   English   中英

如何在條件語句中使用 random.choices 變量

[英]How to use random.choices variable in a conditional statement

我正在嘗試使用 IF 語句中的列表中隨機選擇的項目,即使我將 Newchoice 變量設置為 100% 的時間出現( odds = [100, 0, 0] ),我的程序也無法識別Newchoice變量

這是我當前的代碼:

import random

Subjects = ["Retro", "Technology", "Sport"]
odds = [100, 0, 0]

Newchoice = random.choices(Subjects, odds, k=1)
print(Newchoice)

if Newchoice == "Retro":
    print("Success")

我希望 output 顯示:

['Retro']
Success

但我越來越簡單:

['Retro']

random.choices返回一個列表,因此NewChoice指的是一個列表(包含字符串“Retro”),但您正在與字符串“Retro”進行比較。

您可以進行列表比較:

if Newchoice == ["Retro"]:

或通過獲取第一個(並且僅作為k=1 )元素進行字符串比較:

if Newchoice[0] == "Retro":

這是因為 random.choices 返回一個列表,並且您將其與字符串進行比較。 [“復古”].=“復古”。 從列表中取出第一個(也是唯一一個)元素,它就會起作用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM