我试图找到 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
给出了(一个数字)。
我试图找到 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
给出了(一个数字)。
将卡片列表作为一个参数传入:
move_joker_1(cards)
不要使用语法*splat
;move_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)
希望这可以帮助!
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