想要随机出5个不同花色和数字的扑克牌该怎么做?

发布于 2022-09-06 21:38:08 字数 630 浏览 45 评论 0

我想要让程序随机发出五张不同花色和数字的牌(就算偶尔有一样的也没关系),可是做出来发现5张永远都是一样的。

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)

运行结果:
[['Queen of Clubs'], ['Queen of Clubs'], ['Queen of Clubs'], ['Queen of Clubs'], ['Queen of Clubs']]

Process finished with exit code 0

请问我是不是漏掉了什么部分?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

我不在是我 2022-09-13 21:38:08

难道原因不是只随机了一次吗?循环5次但只随机了一次,取到的当前是一样的

千笙结 2022-09-13 21:38:08

执行for的之前random.choice已经把结果随机出来了,for循环添加的当然都是相同的。
你可以把random.choice放在for里面。

2022-09-13 21:38:08

random.seed(time.time())

加上随机数种子

PS. 某年年会我们公司的抽奖程序没加随机数,写代码的程序员被叫到台上当场code review 。。。

ㄟ。诗瑗 2022-09-13 21:38:08

@dodopy 一下就GET到错误点了.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文