【问题标题】:python function combining values [duplicate]python函数组合值[重复]
【发布时间】: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 循环太早了。

标签: python for-loop


【解决方案1】:

你的返回缩进应该在for循环之外

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
print get_deck()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多