Форум сайта python.su
Пожалуйста, помогите мне! Не могу сделать это целую неделю
На вход программе подаётся натуральное число n, а затем n различных натуральных чисел, каждое на отдельной строке. Напишите программу, которая выводит наибольшее и второе наибольшее число последовательности.
Формат входных данных:
На вход программе подаются натуральное число n => 2, а затем n различных чисел, каждое на отдельной строке
Формат выводных данных:
Программа должна вывести два наибольших числа, каждое на отдельной строке
Пример:
Ввод
5
1
2
3
4
5
Вывод
5
4
Отредактировано Tarlan (Июнь 30, 2020 00:26:31)
Офлайн
Покажите код.
Будем смотреть что у вас не получается.
Как вариант - можете все вводимые числа занести в с писок. Потом сделать сортировку списка и вывести два егопервых члена.
Офлайн
ZerGlargest = 0
Покажите код. Будем смотреть что у вас не получается. Как вариант - можете все вводимые числа занести в с писок. Потом сделать сортировку списка и вывести два егопервых члена.
Отредактировано Tarlan (Июнь 30, 2020 11:20:39)
Офлайн
Тег код.
Офлайн
Иди читай лутца. В следущий раз за такой вопрос будешь забанен.
numbers = [] # Список полученных чисел # количество вводимых символов numbers_count = int(input("Введите количество символов для ввода: ")) # Главный цикл for count in range(0, numbers_count): # Пока длина списка не станет равна количеству вводимых символов повторяем действие while len(numbers) < numbers_count: # Проверяем что мы ввели именно число try: number = int(input(f"Введите число №{len(numbers) + 1}: ")) # Заполняем список numbers.append(number) except: print("Вы ввели не число. Попроуйте еще раз!") print(f"Ввод чисел окончен.") # удалим дубликаты result = list(set(numbers)) # Отсортируем список result = sorted(result) # выведем данные print(f"Наибольшее число: {result[len(result) -1]}") print(f"Предыдущее наибольшее число: {result[len(result) - 2]}")
Офлайн
ZerG
Иди читай лутца. В следущий раз за такой вопрос будешь забанен.
Офлайн
serafimСписки не нужны здесь (можно и миллион элементов подать)
нужно было иначе решить не используя списки
>>> def f(): ... n = int(input()) ... out1 = out2 = None ... for _ in range(n): ... number = int(input()) ... if out2 is None: ... out2 = number ... elif number > out2: ... if out1 is None: ... out1 = number ... elif number > out1: ... out2 = out1 ... out1 = number ... else: ... out2 = number ... print(out1, out2, sep='\n') ... >>> f() 5 1 2 3 4 5 5 4 >>> f() 10 3 2 1 15 4 5 100 8 9 20 100 20 >>>
Отредактировано py.user.next (Дек. 19, 2020 10:32:43)
Офлайн