LINUX.ORG.RU

История изменений

Исправление qulinxao3, (текущая версия) :

физбаз барометр ия [2]

«два указателя/индекса»


def a(n):
    r=len(n)
    for l in range(r):
        if(v:=n[~l]):
            n[r:=r-1]=v
    n[:r]=[0]*r
    return n

for b in [0, 1, 5, 0, 6, 2, 0],[],[1,2,3],[0],[0,0,0,0]:
    print(b,'=>',a(b.copy()))

Исправление qulinxao3, :

физбаз барометр ия [2]

«два указателя/индекса»

def a(n):
    r=len(n)
    for l in range(r):
        if(v:=n[~l]):
            n[r:=r-1]=v
    for p in range(r):
        n[p]=0
    return n

for b in [0, 1, 5, 0, 6, 2, 0],[],[1,2,3],[0],[0,0,0,0]:
    print(b,'=>',a(b.copy()))

Исправление qulinxao3, :

физбаз барометр ия [2]

«два указателя/индекса»

def a(n):
    r=len(n)
    for l in reversed(range(r)):
        if(v:=n[l]):
            n[r:=r-1]=v
    for p in range(r):
        n[p]=0
    return n

for b in [0, 1, 5, 0, 6, 2, 0],[],[1,2,3],[0],[0,0,0,0]:
    print(b,'=>',a(b.copy()))

Исходная версия qulinxao3, :

физбаз барометр ия [2]

«два указателя/индекса»

def a(n):
    l=r=len(n)
    for l in range(r-1,-1,-1):
        if(v:=n[l]):
            n[r:=r-1]=v
    for p in range(r):
        n[p]=0
    return n

for b in [0, 1, 5, 0, 6, 2, 0],[],[1,2,3],[0],[0,0,0,0]:
    print(b,'=>',a(b.copy()))