[英]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.