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)