Напишите программу на языке Python 3, которая получает на вход натуральное число n, а затем n различных натуральных чисел, каждое на отдельной строке. Выведите два наибольших числа из последовательности. Входные данные: на вход программе подается натуральное число n (2n≥2), а затем n различных натуральных чисел, каждое на отдельной строке. Выходные данные: программа должна выводить два наибольших числа, каждое на отдельной строке. Пример ввода: 5 1 2
Ответ:
Решение задачи можно разбить на следующие шаги:
1. Получить на вход натуральное число n с помощью функции `input()`.
2. Создать пустой список `numbers`, в котором будем хранить введенные числа.
3. С использованием цикла `for` пройтись по диапазону от 1 до n+1.
4. Внутри цикла получить от пользователя натуральное число с помощью функции `input()` и преобразовать его в целое число с помощью функции `int()`.
5. Добавить введенное число в список `numbers` с помощью метода `append()`.
6. Отсортировать список `numbers` в порядке убывания с помощью метода `sort()` и указав параметр `reverse=True`.
7. Вывести первые два элемента списка `numbers` с помощью функции `print()` и индексации списков.
8. Завершить выполнение программы.
Итак, попробуем решить данную задачу:
python n = int(input()) # получаем на вход натуральное число n numbers = [] # создаем пустой список для хранения чисел for i in range(1, n+1): number = int(input()) # преобразуем введенное число в целое numbers.append(number) # добавляем число в список numbers.sort(reverse=True) # сортируем список в порядке убывания print(numbers[0]) # выводим первое наибольшее число print(numbers[1]) # выводим второе наибольшее число
Возможный ввод и вывод программы:
Входные данные:
5 2 7 1 9 4
Выходные данные:
9 7
Программа корректно находит два наибольших числа из последовательности, а алгоритм был разбит на понятные шаги, что делает его понятным для школьника.