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

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

Войти через центр авторизации
Похожие вопросы
deeplay Новосибирск
от 130 000 ₽
Enjoy PRO Санкт-Петербург
от 140 000 до 180 000 ₽
от 130 000 ₽
23 окт. 2020, в 12:26
3000 руб./за проект
23 окт. 2020, в 12:09
1500 руб./в час
23 окт. 2020, в 12:01
42000 руб./за проект