Array 82. Дан массив размера N и целое число K \((1 \leq K < N )\). Осуществить сдвиг элементов массива влево на K позиций (при этом \(A_N\) перейдет в \(A_{N-K}\), \(A_{N-1}\) - в \(A_{N-K-1}\), ..., \(A_{K+1}\) - в \(A_1\), а исходное значение K первых элементов будет потеряно). Последние K элементов полученного массива положить равными 0.

Решение на Python 3

import random

N = random.randrange(2,21)
K = random.randrange(1,N)
print("N = ", N)
print("K = ", K)

a = [i+1 for i in range(N)]

##for i in range(0,N):
## a[i] = i

print("Array:\n",a)

print("Modified Array 1:\n", a[K:] + [0]*K )

for i in range(0,N-K) :
a[i] = a[i+K]
for i in range(N-K,N) :
a[i] = 0

print("Modified Array 2:\n",a)