【发布时间】:2018-03-11 15:06:57
【问题描述】:
我想创建一个完整的牌组(52 张牌),然后随机洗牌。
我写了以下函数,但不幸的是它只返回了 16 个 "Hearts" 值。
我应该如何更改代码?
def get_deck():
suit = ["Hearts", "Spades", "Clubs", "Diamonds"]
value = ["Ace", 2, 3, 4, 5, 6, 7, 8, 9, 10, "Jack", "Queen", "King"]
a =[]
for color in suit:
for number in value:
i = color + " " + str(number)
a.append(i)
return a
get_deck()
['Hearts Ace', 'Hearts 2', 'Hearts 3', 'Hearts 4', 'Hearts 5', 'Hearts 6', 'Hearts 7', 'Hearts 8', 'Hearts 9', 'Hearts 10', 'Hearts Jack', 'Hearts Queen', 'Hearts King']
【问题讨论】:
-
将return语句减少一级。你退出 for 循环太早了。