Условие
Последовательность состоит из различных натуральных чисел и завершается числом 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)
Сайт короче обрезает строки, тут не полное решение