我试图找到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
(一个数字)被给出。
答案 0 :(得分:2)
将卡片列表作为一个参数传递:
move_joker_1(cards)
不使用*splat
语法; move_joker_1(*cards)
会将每张卡作为单独的参数应用。
您可能只需要拨打i.index(27)
一次,并考虑到它可能位于列表的 end :
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)
答案 1 :(得分: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