Не могу понять как взимодествует return и print() в программе по высчету индекса тела. Вопрос от новичка

green_jack

Новичок
Пользователь
Окт 13, 2021
1
0
1
Windows 10
Python 3.9
Никаких библиотек не использовано в коде
name1 = "Tom"
height1 = 1.90
weight1 = 80

name2 = "Katy"
height2 = 1.70
weight2 = 60

name3 = "Bob"
height3 = 2.00
weight3 = 150

def bmi_calculator(name, height, weight):
bmi = weight / (height ** 2)

print("Индекс тела: " + str(bmi))
if bmi < 25:
return name + " не имеет лишний вес"
else:
return name + " меет лишний вес"
bmi1 = bmi_calculator(name1, height1, weight1)
bmi2 = bmi_calculator(name2, height2, weight2)
bmi3 = bmi_calculator(name3, height3, weight3)
print(bmi1)


Объясните пожалуйста, как в 24 строке команда print(bmi1) определяет, что надо печатать. Я просто не совсем понимаю как работает оператор return. Куда именно он возвращает свои данные? Сам bmi1 после 21 строки становится ссылкой на текст или как?
1634072560334.png
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте с помощью ... -> код -> python.
Сам bmi1 после 21 строки становится ссылкой на текст или как?
return возвращает значение из функции bmi_calculator и присваивает его в переменную bmi1. Присваивается именно значение, а не ссылка, после чего переменная bmi1 будет иметь тип str и значение "текст, возвращенный из функции".
 

Форум IT Специалистов