鍍金池/ 問(wèn)答/數(shù)據(jù)分析&挖掘  Python  C/ 想要隨機(jī)出5個(gè)不同花色和數(shù)字的撲克牌該怎么做?

想要隨機(jī)出5個(gè)不同花色和數(shù)字的撲克牌該怎么做?

我想要讓程序隨機(jī)發(fā)出五張不同花色和數(shù)字的牌(就算偶爾有一樣的也沒(méi)關(guān)系),可是做出來(lái)發(fā)現(xiàn)5張永遠(yuǎn)都是一樣的。

import random
suites = ["Hearts", "Diamonds", "Spades", "Clubs"]
cardFaces = ["Ace", 2,3,4,5,6,7,8,9,10,"Jack","Queen","King"]
cardFace = random.choice( cardFaces )
suite = random.choice( suites )
pickACard =[str(cardFace) +" of "+ str(suite)]

hand = []
for i in range(5): # do the body five times
card = pickACard
hand.append(card)
print(hand)

運(yùn)行結(jié)果:
[['Queen of Clubs'], ['Queen of Clubs'], ['Queen of Clubs'], ['Queen of Clubs'], ['Queen of Clubs']]

Process finished with exit code 0

請(qǐng)問(wèn)我是不是漏掉了什么部分?

回答
編輯回答
假灑脫

@dodopy 一下就GET到錯(cuò)誤點(diǎn)了.

2018年4月10日 19:10
編輯回答
吢丕

random.seed(time.time())

加上隨機(jī)數(shù)種子

PS. 某年年會(huì)我們公司的抽獎(jiǎng)程序沒(méi)加隨機(jī)數(shù),寫代碼的程序員被叫到臺(tái)上當(dāng)場(chǎng)code review 。。。

2017年6月6日 04:07
編輯回答
雨蝶

執(zhí)行for的之前random.choice已經(jīng)把結(jié)果隨機(jī)出來(lái)了,for循環(huán)添加的當(dāng)然都是相同的。
你可以把random.choice放在for里面。

2017年7月7日 04:20
編輯回答
初心

難道原因不是只隨機(jī)了一次嗎?循環(huán)5次但只隨機(jī)了一次,取到的當(dāng)前是一樣的

2017年5月29日 02:48