求解python魔术翻牌

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

>>> 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]

第一步:

https://yunpan.360.cn/surl_yvNiK5A3aEH

单独复制链接去浏览器打开