Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 30, 2020 00:02:40

Tarlan
Зарегистрирован: 2020-06-29
Сообщения: 3
Репутация: +  0  -
Профиль  

Наибольшие числа

Пожалуйста, помогите мне! Не могу сделать это целую неделю

На вход программе подаётся натуральное число n, а затем n различных натуральных чисел, каждое на отдельной строке. Напишите программу, которая выводит наибольшее и второе наибольшее число последовательности.
Формат входных данных:
На вход программе подаются натуральное число n => 2, а затем n различных чисел, каждое на отдельной строке
Формат выводных данных:
Программа должна вывести два наибольших числа, каждое на отдельной строке
Пример:
Ввод
5
1
2
3
4
5
Вывод
5
4

Отредактировано Tarlan (Июнь 30, 2020 00:26:31)

Офлайн

#2 Июнь 30, 2020 09:08:45

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2583
Репутация: +  60  -
Профиль   Отправить e-mail  

Наибольшие числа

Покажите код.
Будем смотреть что у вас не получается.
Как вариант - можете все вводимые числа занести в с писок. Потом сделать сортировку списка и вывести два егопервых члена.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Июнь 30, 2020 11:11:28

Tarlan
Зарегистрирован: 2020-06-29
Сообщения: 3
Репутация: +  0  -
Профиль  

Наибольшие числа

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)


Что я должен сделать?

Отредактировано Tarlan (Июнь 30, 2020 11:20:39)

Офлайн

#4 Июнь 30, 2020 11:37:12

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2583
Репутация: +  60  -
Профиль   Отправить e-mail  

Наибольшие числа

Тег код.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Июнь 30, 2020 11:39:23

Tarlan
Зарегистрирован: 2020-06-29
Сообщения: 3
Репутация: +  0  -
Профиль  

Наибольшие числа

ZerG
Тег код.
извините я новичок, я не знаю что это

Офлайн

#6 Июнь 30, 2020 12:46:10

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2583
Репутация: +  60  -
Профиль   Отправить e-mail  

Наибольшие числа

Иди читай лутца. В следущий раз за такой вопрос будешь забанен.

 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]}")        



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Дек. 19, 2020 10:11:26

serafim
Зарегистрирован: 2019-12-23
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Наибольшие числа

ZerG
Иди читай лутца. В следущий раз за такой вопрос будешь забанен.

товарищ эту задачу нужно было иначе решить не используя списки.

Офлайн

#8 Дек. 19, 2020 10:31:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Наибольшие числа

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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version