Пользователь вводит последовательность чисел. признак конца ввода 0.определить 3 наибольших числа в последовательности.на языке питон .школьный уровень.желательно с пояснениями!

ojitovtitan ojitovtitan    2   02.04.2019 19:28    1

Ответы
messi114 messi114  28.05.2020 12:40

m1=0

m2=0

m3=0

x=10

while x!=0:

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

if m1<x:  

 m3=m2

 m2=m1

 m1=x

elif x>m2 and  x>m3 and x<m1:

 m3=m2

 m2=x

elif x<m2 and x<m1 and x>m3:

 m3=x

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

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика