Здравствуйте, может кто подсказать, пожалуйста. Меня интересует где именно ошибка в моём коде? Задача из курса для начинающих:
Напишите программу, которая считывает три числа и подсчитывает сумму только положительных чисел.
Формат входных данных
На вход программе подаются три целых числа.
Формат выходных данных
Программа должна вывести одно число – сумму положительных чисел.
Примечание. Если положительных чисел нет, то следует вывести 00.
Я хочу сам додуматься и решить, мне не нужен правильный ответ, я просто не пойму где у меня ошибка. Я решил по колхозному расписать все возможные варианты сравнений, и первая часть кода с со всеми положительными числами в разных вариантах - работает. Но не пойму почему там, где a < 0 < b <=c print (b + c) при вводе -1, 37, 62 (Что соответствует неравенству) не хочет выдавать результат. Пожалуйста не нужно мне сразу выдавать решение, и я понимаю что скорее всего есть решение короче и проще. Но я хочу сам додуматься, не читая решений. Просто не пойму что именно в моем коде не так? Я чего-то не дописал из неравенств? Почему тогда верхняя часть работает? мой код
a, b, c = int(input()), int(input()), int(input())
if 0 < a <= b <= c:
print(a + b + c)
else:
if 0 < a >= b <= c:
print(a + b + c)
else:
if 0 < a >= b >= c:
print(a + b + c)
else:
if 0 < a <= b >= c:
print(a + b + c) # до сюда код работает
else:
if a < 0 < b <= c: # тут при вводе чисел, которые соответствуют неравенству, выдаёт 0. почему?
print(b + c)
else:
if a < 0 < b >= c:
print(b + c)
else:
if a <= b < 0 < c:
print(c)
else:
if a >= b < 0 < c:
print(c)
else:
if b < 0 < a <= c:
print(a + c)
else:
if b < 0 < a >= c:
print(a + c)
else:
if c < 0 < a <= b:
print(a + b)
else:
if c < 0 < a >= b:
print(a + b)
else:
if a <= c < 0 < b:
print(b)
else:
if a >= c < 0 < b:
print(b)
else:
if b <= c < 0 < a:
print(a)
else:
if b >= c < 0 < a:
print(a)
else:
print(0) # Я подозреваю, что этот print(0) всё и ломает, но не знаю, что сюда вписать.
Напишите программу, которая считывает три числа и подсчитывает сумму только положительных чисел.
Формат входных данных
На вход программе подаются три целых числа.
Формат выходных данных
Программа должна вывести одно число – сумму положительных чисел.
Примечание. Если положительных чисел нет, то следует вывести 00.
Я хочу сам додуматься и решить, мне не нужен правильный ответ, я просто не пойму где у меня ошибка. Я решил по колхозному расписать все возможные варианты сравнений, и первая часть кода с со всеми положительными числами в разных вариантах - работает. Но не пойму почему там, где a < 0 < b <=c print (b + c) при вводе -1, 37, 62 (Что соответствует неравенству) не хочет выдавать результат. Пожалуйста не нужно мне сразу выдавать решение, и я понимаю что скорее всего есть решение короче и проще. Но я хочу сам додуматься, не читая решений. Просто не пойму что именно в моем коде не так? Я чего-то не дописал из неравенств? Почему тогда верхняя часть работает? мой код
a, b, c = int(input()), int(input()), int(input())
if 0 < a <= b <= c:
print(a + b + c)
else:
if 0 < a >= b <= c:
print(a + b + c)
else:
if 0 < a >= b >= c:
print(a + b + c)
else:
if 0 < a <= b >= c:
print(a + b + c) # до сюда код работает
else:
if a < 0 < b <= c: # тут при вводе чисел, которые соответствуют неравенству, выдаёт 0. почему?
print(b + c)
else:
if a < 0 < b >= c:
print(b + c)
else:
if a <= b < 0 < c:
print(c)
else:
if a >= b < 0 < c:
print(c)
else:
if b < 0 < a <= c:
print(a + c)
else:
if b < 0 < a >= c:
print(a + c)
else:
if c < 0 < a <= b:
print(a + b)
else:
if c < 0 < a >= b:
print(a + b)
else:
if a <= c < 0 < b:
print(b)
else:
if a >= c < 0 < b:
print(b)
else:
if b <= c < 0 < a:
print(a)
else:
if b >= c < 0 < a:
print(a)
else:
print(0) # Я подозреваю, что этот print(0) всё и ломает, но не знаю, что сюда вписать.
Последнее редактирование: