Python. Lists, loops. In the digital library, books from different years of publication are presented. One

  • 11
Python. Lists, loops. In the digital library, books from different years of publication are presented. One of the employees added new books to the general archive, but unfortunately, completely forgot about accuracy and did not check their publication years. Now everything is stored randomly and the data needs to be organized. Write the following program: a list is entered - the publication year of each book separated by a space. By applying selection sort, it is necessary to sort them in ascending order and display the result on the screen.
Valentina
4
Конечно! Вот программа на Python, которая сортирует годы публикации книг с использованием сортировки выбором (selection sort) и выводит результат на экран:

python
def selection_sort(arr):
n = len(arr)
for i in range(n - 1):
min_idx = i
for j in range(i + 1, n):
if arr[j] < arr[min_idx]:
min_idx = j

arr[i], arr[min_idx] = arr[min_idx], arr[i]

return arr

# Ввод годов публикации книг
years_input = input("Введите годы публикации каждой книги, разделённые пробелом: ")
years = list(map(int, years_input.split()))

# Сортировка годов публикации
sorted_years = selection_sort(years)

# Вывод отсортированных годов публикации
print("Отсортированные годы публикации:")
for year in sorted_years:
print(year, end=" ")


Давайте разберем этот код по шагам:

1. Сначала у нас есть функция `selection_sort`, которая принимает список `arr` и выполняет сортировку выбором. Внутри этой функции мы используем два цикла: внешний цикл пробегается по всем элементам списка, кроме последнего, а внутренний цикл находит минимальный элемент среди оставшихся и меняет его местами со значением на текущей позиции.

2. Затем мы запрашиваем у пользователя ввод годов публикации книг с помощью функции `input`. Полученный ввод разделяется на отдельные строки с помощью метода `split()` и преобразуется в список целых чисел с помощью функции `map(int, years_input.split())`.

3. После этого вызывается функция `selection_sort` с переданным списком годов, и результат сортировки сохраняется в переменную `sorted_years`.

4. Наконец, мы выводим на экран отсортированные годы публикации, перебирая элементы списка `sorted_years` в цикле `for` и печатая каждый элемент с помощью функции `print`.

Эта программа должна помочь вам организовать данные о годах публикации книг в порядке возрастания. Если у вас возникнут вопросы или потребуется дополнительная помощь, пожалуйста, сообщите.