Вызов функции из функции и возвращение нескольких значений
Подскажите, как сделать так, чтобы программа не выводила кортеж, а записывала в каждую переменную своё значение (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)
...