pyton纸牌游戏中的功能问题

我正在用python构建纸牌游戏(与Dobbel类似,如果您知道的话)。游戏在纸牌组中进行,其中每张纸牌上都有多个符号。有效的卡片组是指所有卡片具有相同数量的符号,而每对卡片恰好共享一个符号。 我尝试构建一个功能来检查给定的卡片组是否有效。 这是我的代码:

def is_valid(deck):
    new_deck = [deck[0]]
    card_counter = 1
    while card_counter < len(deck):
        for i in new_deck:
            if len(i) == len(deck[card_counter]) and len(set(deck[card_counter]).intersection(set(i))) == 1:
                new_deck.append(deck[card_counter])
                card_counter += 1
            else:
                return False
    return True

如您所见,该函数设置了一个新卡组,其中第一张卡在原始卡组中,并且每个循环(使用上行计数器)检查原始卡组中的另一张卡是否符合以下规则:有效的dack,如果是这样,它将添加到新的deck。

我尝试使用该卡片组来运行该功能:

deck = [["dolphin","bomb","spider"],["eye","fire"],["bomb","lock","tree"],["spider","fire","lock"]]
is_valid(deck)

但我不断收到该错误:

    if len(i) == len(deck[card_counter]) and len(set(deck[card_counter]).intersection(set(i))) == 1:
IndexError: list index out of range

你们中的任何人都知道可能是什么问题吗?

yaoliaaa 回答:pyton纸牌游戏中的功能问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2981636.html

大家都在问