2012-03-15 101 views
0

可能重複:
How do I randomly select an item from a list using Python?Python:列表和隨機。如何從0到[列表中的字符串數量]之間選擇隨機數字?

我試圖創建一個使用3只不同的列出了3個不同的字的字符串:

print (word1[random.randint(0, X)], 
     "the", 
     word2[random.randint(0, X)], 
     word3[random.randint(0, X)]) 

word1word2word3是不同的名單。

randint中的X是相應列表中的字符串數量。

那麼,有沒有人可以幫助我,告訴我我是如何正確寫這段代碼的?

word1[random.randint(0, [amount of strings in list "word1"])] 

回答

3

你在做一個毫無根據的假設,你需要選擇這樣一個隨機數。隨機數不是你想要的;你想要一個隨機的字符串元素。

要從序列中進行隨機選擇,請使用random.choice

print(random.choice(word1), "the", random.choice(word2), random.choice(word3)) 
+0

Woowh。感謝隊友......我一直想這樣做幾個星期了,但我想我的老師是一個愚蠢的XD迫使我們學習的東西有太多的數學(向量n的東西),甚至沒有解釋任何與此有關的事情節目。 – user1275670 2012-03-15 20:32:21

+0

你的老師可能誠實地認爲,讓你用這些「數學」術語來思考,實際上會提高你的編程直覺和邏輯上破壞編程問題的能力。這種誤解是非常普遍的。 – 2012-03-15 21:01:04

+0

@ChaosPointDK - 你可以通過閱讀python.org上的教程來學習庫。 – 2012-03-16 16:56:40

0

len()得到的東西的長度。使用len(word1)將獲得列表中的項目數量。我想你想要做的是從列表中選擇一個隨機單詞。 random實際上有它自己的模塊來做到這一點。您將使用random.choice(word1)word1獲得一個隨機項目。

0

簡單:word1[randomint(0, len(word1)-1)]