Как создать программу на Python, которая принимает число k, затем вводит элементы массива (целые числа), где ввод заканчивается нулем, и сдвигает элементы массива влево на k позиций? Например, если входные данные следующие:
3 1 2 3 4 5 6 0
то ожидаемый результат будет:
4 5 6 1 2 3
Информатика Колледж Алгоритмы и структуры данных Python программа массив сдвиг целые числа ввод алгоритм код задача информатика Новый
Для создания программы на Python, которая выполняет описанную задачу, следуйте этим шагам:
Теперь давайте рассмотрим код программы:
k = int(input("Введите число k: ")) # Вводим число k array = [] # Создаем пустой массив для хранения элементов # Вводим элементы массива до тех пор, пока не будет введен 0 while True: element = int(input("Введите элемент массива (0 для завершения ввода): ")) if element == 0: # Если введен 0, завершаем ввод break array.append(element) # Добавляем элемент в массив # Проверяем, что массив не пуст if array: k = k % len(array) # Учитываем случай, когда k больше длины массива shifted_array = array[k:] + array[:k] # Сдвигаем массив влево на k позиций print("Результат сдвига:", shifted_array) # Выводим результат else: print("Массив пуст.")
Объяснение кода:
array
и используем бесконечный цикл while True
, чтобы запрашивать у пользователя ввод элементов массива.k % len(array)
, чтобы избежать лишних сдвигов, если k
больше длины массива.shifted_array
, который состоит из элементов, начиная с индекса k
до конца, и добавляем к нему элементы от начала массива до индекса k
.Таким образом, программа успешно сдвигает элементы массива влево на заданное количество позиций.