[英]How to use Random Randint for List ?
我寫了3個問題,我想使用Random Randint隨機選擇和顯示一個。 我不知道如何在我的代碼中使用Random Randint來使用它。
你不會使用random.randint()
在所有 。 您可以使用random.choice()
代替:
import random
questions = [question1, question2, question3]
random_question = random.choice(questions)
該函數從序列中隨機選擇一個元素。
如果您需要隨機而不是重復地提出問題,則需要做一些不同的事情。 您可以使用random.shuffle()
將整個問題列表隨機化,然后在每次需要新問題時從該列表中選擇一個(也許從列表中將其刪除)。 這就產生了一個隨機的問題序列 。
import random
questions = [question1, question2, question3]
random.shuffle(questions)
for question in questions:
# questions are iterated over in random order
要么
questions = [question1, question2, question3]
random.shuffle(questions)
while questions:
next_question = questions.pop()
不要使用randint
,使用random.choice
。 此功能將從列表中選擇一個隨機項目。
import random
l = [1,2,3]
>>> random.choice(l)
2
>>> random.choice(l)
1
>>> random.choice(l)
1
>>> random.choice(l)
3
如果由於任務需要使用randint
,則可以查看choice
工作方式。 稍微簡化一下,是這樣的:
def choice(seq):
i = randrange(len(seq))
return seq[i]
randint(a, b)
只是“ randrange(a, b+1)
的別名”。
因此,您從Martijn Pieter的答案中知道如何使用choice
,您知道choice
什么用,您應該能夠從那里弄清楚如何從那里使用randint
。
如果“您要選擇替換商品(也就是說,每次都有1/3的機會)” :
#!/usr/bin/env python
import random
questions = ["question1", "question2", "question3"]
while True: # infinite loop, press Ctrl + C to break
print(random.choice(questions))
“無需替換(也就是說,每個僅顯示一次,因此經過3個選擇之后,就什么也沒有了)” :
#!/usr/bin/env python
import random
questions = ["question1", "question2", "question3"]
random.shuffle(questions)
while questions: # only `len(questions)` iterations
print(questions.pop())
“或某種混合動力(例如,以隨機順序選擇所有3個,然后以隨機順序再次重復所有3個,等等。” :
#!/usr/bin/env python
import random
questions = ["question1", "question2", "question3"]
while True: # infinite loop, press Ctrl + C to break
random.shuffle(questions)
for q in questions: # only `len(questions)` iterations
print(q)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.