-1

我试图找到 JOKER1 并将其与它后面的卡片交换(在圆形卡片组内),但我似乎无法找到正确的代码。如果我有一个代码

def move_joker_1(i):
    i[i.index(27)], i[i.index(27) + 1] = i[i.index(27) + 1], i[i.index(27)]
    print(i)

我总是得到move_joker_1()1 个位置参数,但x给出了(一个数字)。

4

2 回答 2

2

将卡片列表作为一个参数传入:

move_joker_1(cards)

不要使用语法*splatmove_joker_1(*cards)会将每张卡片作为单独的参数应用。

您可能只想调用i.index(27)一次,并考虑到它可能位于列表的末尾

def move_joker_1(i):
    joker_pos = i.index(27)
    swap_with = joker_pos + 1
    if swap_with == len(i):
        swap_with = 0
    i[joker_pos], i[swap_with] = i[swap_with], i[joker_pos]
    print(i)
于 2013-11-05T23:55:25.277 回答
0

希望这可以帮助!

i = ["KING1", "JACK2", "JOKER1", "QUEEN4"]
def move_joker_1(i):
    n = i.index("JOKER1")
    joker = i[n]
    i[n] = i[n+1]
    i[n+1] = joker

move_joker_1(i)
print i
于 2013-11-05T23:57:14.597 回答