+ 1
Почему не работает?
Наибольшие числа 🌶️🌶️ На вход программе подается натуральное число nn, а затем nn различных натуральных чисел, каждое на отдельной строке. Напишите программу, которая выводит наибольшее и второе наибольшее число последовательности. Формат входных данных На вход программе подаются натуральное число n \ge 2n≥2, а затем nn различных натуральных чисел, каждое на отдельной строке. Формат выходных данных Программа должна вывести два наибольших числа, каждое на отдельной строке. a = int(input()) t1=0 t2=0 for i in range(a): q=int(input()) if q>t1 and q<t2: t1=q if q<t1 and q>t2: t2=q print(t2) print(t1)
3 odpowiedzi
+ 2
Подставь, например, 1. 1>0 и 1<0 - ложь. Со вторым условием тоже ложь. Пусть т1 - самое большое число. Чтобы занять т1 нужно, чтобы число было больше или равно т1. В начале сделай так, чтобы т1 и т2 были самым маленьким целым числом. (Посмотри в интернете)
Создай буферную переменную (temp)
temp = t1
t1 = q
t2 = temp
Это всё в первом условии (if q>= t1:)
Второе условие убери.
Вроде всё должно работать. Я не проверял. Если что-то не получится - пиши.
+ 1
Спасибо. Заработало.
a = int(input())
t1=-1
t2=-1
for i in range(a):
q=int(input())
if q>t1:
t2=t1
t1=q
elif q>t2:
t2=q
print(t1)
print(t2)
0
👍