Условие
Последовательность состоит из различных натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой последовательности. Гарантируется, что в последовательности есть хотя бы два элемента.
Решение
first_max = int(input())
second_max = int(input())
if first_max < second_max:
first_max, second_max = second_max, first_max
element = int(input())
while element != 0:
if element > first_max:
second_max, first_max = first_max, element
elif element > second_max:
second_max = element
element = int(input())
print(second_max)

Не работает на последовательности
2
1
0
прекрасно всё работает
нет, не работает
Зато эта работает:
x=-1
first=0
second=0
while x!=0:
x=int(input())
if x>first and x!=0:
second=first
first=x
elif xsecond and x!=0:
second=x
print(second)
x=-1
first=0
second=0
while x!=0:
x=int(input())
if x>first and x!=0:
second=first
first=x
elif xsecond and x!=0:
second=x
print(second)
Сайт короче обрезает строки, тут не полное решение