Циклический сдвиг вправо на 1, python. Сначала задано число N — количество элементов в массиве (1≤N≤35). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел.
При этом нельзя использовать дополнительные массивы, срезы и пользоваться стандартными операциями типа insert и pop.
моё решение:
n=int(input())
a=list(map(int,input().split()))
b=a[n-1]
a.append(0)
for i in range(1,n):
a[n]=a[n-i]
a[n-i]=a[n-1-i]
a[n-1-i]=a[n]
a[0]=b
a.pop()
print(*a)
Но надо написать так, чтобы в цикле обойтись одним присваиванием
# Задание 1
num = input('Введи целое число: ')
print('Количество цифр в числе = {}'.format(len(num)))
# Задание 2
from random import randint
print('Выпало {}'.format(randint(1, 6)))
# Задание 3
a = int(input('Введи 1 число: '))
b = int(input('Введи 2 число: '))
i = min(a, b)
while True:
if i % a == 0 and i % b == 0:
break
i += 1
print(f'НОК = {i}')
# Задание 4
def fibonacci(n):
a = 0
b = 1
if n < 0:
print("Некорректный ввод!")
elif n == 0:
return a
elif n == 1:
return b
else:
for i in range(2, n):
c = a + b
a = b
b = c
return b
n = int(input('Введи N-ое число Фибоначчи: '))
print('Число Фибоначчи = {}'.format(fibonacci(n)))
Объяснение:
Python 3.8.2