@mazimuz

Решение задачи Python?

Программа должна запрашивать на вход числа (каждое с новой строки) до тех пор, пока не будет введен ноль (0). На выход должно выводиться второе по величине значение.
x=int(input('введите число '))
while x != 0:
x=int(input('введите число '))
pass

Как вывести второе по величине значение?
  • Вопрос задан
  • 6383 просмотра
Пригласить эксперта
Ответы на вопрос 5
@illaaa
num_set = set()
x = 1

while x != 0:
    x=int(input('введите число '))
    num_set.add(x)
    
num_set.remove(max(num_set))
print(max(num_set))
Ответ написан
on1k
@on1k
Кладешь все значения в список, сортируешь по убыванию и берешь второе значение.
Ответ написан
Комментировать
@mydeadvictoria
s = set()
while (x := int(input("Enter number: "))) != 0:
    s.add(x)
print(sorted(list(s), reverse=True)[1])


Но тут без обработки ошибок.
P. s. - := доступен в Python 3.8+
Ответ написан
@immelnikoff
Изучаю БД
Хранишь только максимальное и второе максимальное. В конце выводишь второе максимальное.
Ответ написан
Комментировать
@AndrewDram
Мне попадалась эта задачка на курсе одной онлайн школы. Она была в д/з по отработке циклов. Вот моя версия кода.

# наполнение списка и остановка цика после получения "0"
my_list = []
i = 1
while i != 0:
    i = int(input('введите число: '))
    my_list.append(i)
# поиск наибольшего числа в списке с помощю цикла
def large(x):
    max_value = x[0]
    for element_max in x:
        if element_max > max_value:
            max_value = element_max
    return max_value
result_max_value = large(my_list)
print('наибольшее число в списке: ', result_max_value)
# поиск второго по величине числа в списке с помощю цикла
def large(x):
    pen_value = x[0]
    for element_pen in x:
        if element_pen != result_max_value:
            pass
            if element_pen > pen_value:
                pen_value = element_pen
    return pen_value
result_pen_value = large(my_list)
print('второе по величине число в списке: ', result_pen_value)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы