Пользователь вводит последовательность чисел. Признак конца ввода 0.Определить 3...

0 голосов

Пользователь вводит последовательность чисел. Признак конца ввода 0.Определить 3 наибольших числа в последовательности.НА ЯЗЫКЕ ПИТОН .ШКОЛЬНЫЙ УРОВЕНЬ.ЖЕЛАТЕЛЬНО С ПОЯСНЕНИЯМИ!


спросил от (20 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Начинающий (595 баллов)

m1=0

m2=0

m3=0

x=10

while x!=0:

x=int(input())#вводим число

if m1

 m3=m2

 m2=m1

 m1=x

elif x>m2 and  x>m3 and x

 m3=m2

 m2=x

elif xm3:

 m3=x

print(m1,m2,m3,sep=" ")

вот std алгоритм заключается в том что у нас три переменных и мы после нахождения максимума все переменные сдвигаем назад то есть m1 становится m2, m2 становится m3 а m1 присваивается новый максимум  и так же тут случаи когда m2 или m3 больше старых но мешьше m1 он тогда просто меняет значение именно той переменной которой он больше

оставил комментарий от Начинающий (595 баллов)

при этом если есть новый m2 то старый м2 переносится в m3

...