Вызов функции из функции и возвращение нескольких значений

Подскажите, как сделать так, чтобы программа не выводила кортеж, а записывала в каждую переменную своё значение (a=sum, b='empty' или a=sum, b=mult) при вызове функции из другой функции

def function(a, b):
    num1 = a
    num2 = b
    sum = num1 + num2
    mult = num1 * num2
    if b == 100:
        return sum, "empty"
    else:
        return sum, mult

def function2(a, b):
    print(a)
    if str(b) == "empty":
        print("b=empty")
    else:
        print(b)

a = 5
b = 100
function2(function(a, b), 123)

Я понимаю, что function2 принимает два аргумента: a в качестве вызова другой функции и b в качестве числа 123, поэтому и записывает в a кортеж


Ответы (2 шт):

Автор решения: Question

Проблема решилась.

def function(a, b):
    num1 = a
    num2 = b
    sum = num1 + num2
    mult = num1 * num2
    if b == 100:
        return sum, "empty"
    else:
        return sum, mult

def function2(a):
    print(a[0])
    if str(b[1]) == "empty":
        print("b=empty")
    else:
        print(b[1])

a = 5
b = 100
function2(function(a, b))
→ Ссылка
Автор решения: S. Nick

Попробуйте так:

...
def function2(a, b):
    print(a)
    a, b = a               # +++
    if str(b) == "empty":
        print("b=empty")
    else:
        print(b)
...
→ Ссылка