Найти - Пользователи
Полная версия: Наибольшие числа
Начало » Центр помощи » Наибольшие числа
1
Tarlan
Пожалуйста, помогите мне! Не могу сделать это целую неделю

На вход программе подаётся натуральное число n, а затем n различных натуральных чисел, каждое на отдельной строке. Напишите программу, которая выводит наибольшее и второе наибольшее число последовательности.
Формат входных данных:
На вход программе подаются натуральное число n => 2, а затем n различных чисел, каждое на отдельной строке
Формат выводных данных:
Программа должна вывести два наибольших числа, каждое на отдельной строке
Пример:
Ввод
5
1
2
3
4
5
Вывод
5
4
ZerG
Покажите код.
Будем смотреть что у вас не получается.
Как вариант - можете все вводимые числа занести в с писок. Потом сделать сортировку списка и вывести два егопервых члена.
Tarlan
ZerG
Покажите код. Будем смотреть что у вас не получается. Как вариант - можете все вводимые числа занести в с писок. Потом сделать сортировку списка и вывести два егопервых члена.
largest = 0
pre_largest = 0
n = int(input())
for i in range(0, n):
num = int(input())
if num > largest:
largest = num
elif pre_largest > num > largest:
pre_largest = num
print(largest)
print(pre_largest)


Что я должен сделать?
ZerG
Тег код.
Tarlan
ZerG
Тег код.
извините я новичок, я не знаю что это
ZerG
Иди читай лутца. В следущий раз за такой вопрос будешь забанен.

 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]}")        
serafim
ZerG
Иди читай лутца. В следущий раз за такой вопрос будешь забанен.

товарищ эту задачу нужно было иначе решить не используя списки.
py.user.next
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
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB