@AntonioMargaretty

Как сделать так, чтобы программа нормально вывела сумму двух отрицательных?

def make_negative(number):
    if number > 0:
        i = f"-{number}"
        print(int(i))
    elif number < 0:
        print(number)
    else:
        print(0)
        
f = make_negative(10)
e = make_negative(20)
print(f + e)


Вывод:
-10
-20
Traceback (most recent call last):
  File "C:/Python/Цикл.py", line 12, in <module>
    print(f + e)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'


и почему он дополнительно выводит -10 и -20 хотя я ВРОДЕ не вызывал их? Научите пожалуйста что к чему...
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Во первых чтобы тут f = make_negative(10) записалось значение выполняемой функции нужно в функции использовать return вместо print.
Во вторых зачем i = f"-{number}"? чем вас не устраивает просто умножение на -1?
Ответ написан
aRegius
@aRegius
Python Enthusiast
def get_negative_number(number):
    return -abs(number)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
15432
@15432
Системный программист ^_^
Вы в функции вместо того, чтобы вернуть значение, печатаете его на экране
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы