求解python魔术翻牌

Python魔术翻牌都是每隔一张翻的代码,有没有每隔俩张翻的代码呀?

def solution_list():
pokers = [0 for _ in range(13)] # 初始化
count = len(pokers) # 纸牌总数
index = -1

for num in range(1, 14):
    i = 0                               # 计数
    while i < num:
        index = (index + 1) % count     # 索引向前一步(可循环)
        if pokers[index] == 0:          # 当前元素为0时才计数, 不为0则跳过
            i += 1
    pokers[index] = num

print('#' * 50)
print(f'

牌组: {pokers}
')
print('#' * 50)

>>> class pokers:
    def dealtwo(p):
        t = []
        p = p[:]
        while p:
            t.append(p.pop(0))
            if not p:break
            p.append(p.pop(0))
            if not p:break
            p.append(p.pop(0))
        return t
    def solution(p):
        p = p[:]
        t = pokers.dealtwo(p)
        for i,n in enumerate(t):
            p[n-1]=i+1
        return p

    
>>> pok = [i for i in range(1,14)]
>>> pokers.solution(pok)
[1, 8, 10, 2, 6, 12, 3, 9, 7, 4, 13, 11, 5]
>>> 
>>> x = pokers.solution(pok)
>>> pokers.dealtwo(x)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]