PYTHON. Вводится последовательность вещественных чисел, не равных нулю. Известно, что последний элемент последовательности равен 0. Вычислите сумму всех положительных и всех отрицательных чисел.

Ответы

Ответ дал: inferno256
1

positive, negative = 0, 0

while x := float(input()):

if x > 0:

positive += x

else:

negative += x

print(f"Сумма положительных: {positive}")

print(f"Сумма отрицательных: {negative}")


teacher1011: Попробуйте
restIess: Попробовал, работает
inferno256: 1. Не компилятор, а интерпретатор; 2. Что-нибудь о моржовом операторе слышал?
teacher1011: 1) Я имел ввиду интерпретатор.
teacher1011: 2) не слышал
inferno256: Моржовый оператор присваивания добавлен в Python 3.8 для большей компактности кода. При проверке условия можно сохранить в переменной результат проверки
inferno256: if x := 2 * 2: print(x) # 4
teacher1011: Понятно, буду знать, никогда раньше не встречал эго в питоне
inferno256: Пример некрасивый получился т.к. старался в одну строчку его уложить. В комментариях табуляции не отображаются
teacher1011: Ну я понял уже смысл, нагуглил что да как
Ответ дал: restIess
2

x, _sumPositive, _sumNegative = None, 0, 0

while x != 0:

  x = float(input())

  if x > 0:

      _sumPositive += x

  else:

      _sumNegative += x

print(f"Сумма положительных: {_sumPositive}\nСумма отрицательных: {_sumNegative}")


inferno256: Мм.. Сразу репортить решение, когда я просто неправильно понял условие и хочу отредактировать на нормальное
restIess: А с чего ты взял, что я его зарепортил?))
inferno256: Нет? Тогда извини, просто по твоему уровню предположил, что ты вполне мог зарепортить
restIess: Ты же можешь сам посмотреть, кто репорт кинул, вниз страничку пролистай
inferno256: Извиняюсь, но где именно? Сразу говорю, что сижу с старой мобильной версии приложения, очень давно не обновлялся
restIess: Не могу точно сказать, с браузерной версию на мобилке надо просто вниз пролистать и там будет история вопроса, если ты ответил/задал
Вас заинтересует