Возврат значений return

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

В этом уроке мы разберем ключевой аспект работы функций в Python — оператор return. Вы узнаете, как передавать данные из функции обратно в основную программу, чем возврат значения отличается от простого вывода на экран (print), и что такое "мертвый код", который никогда не выполнится.

Задания расположены от простых к сложным: начнем с синтаксиса, затем научимся отличать return от print, исправим ошибки, соберем функции из частей и научимся предсказывать результат их выполнения. Помните: функция — это "черный ящик", и return — это способ получить результат её работы.

Список тем

Возврат результата сложения

id: 40037_task1

Допишите функцию add_numbers, чтобы она возвращала сумму двух аргументов, а не выводила её на экран. Используйте специальное ключевое слово для возврата значения.

Заполните пропуски
def add_numbers(a, b):
    result = a + b
    input1S result

sum_value = add_numbers(5, 10)
print(sum_value)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Разница между return и print

id: 40037_task2

Проанализируйте код. Функция calculate вычисляет значение, но не возвращает его явно (нет return). Переменной res присваивается результат вызова функции. Что выведет последний print(res)?

Выберите правильный вариант ответа
def calculate(x):
    print(x * 2)

res = calculate(5)
print(res)
Сообщения
Проверить
Показать подсказку

Исправьте логическую ошибку

id: 40037_task3

В этой функции есть строка кода, которая никогда не выполнится ("мертвый код"), потому что стоит после возврата значения. Найдите и удалите лишнюю строку, чтобы код стал чистым.

Найдите ошибку и исправьте
def get_status(age):
    if age >= 18:
        return "Adult"
        print("Checking age...")
    return "Child"
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Заполните пропуски в функциях

id: 40037_task4

Используя банк данных, допишите функции. Первая должна возвращать результат математического выражения, а вторая — булево значение (True/False). Обратите внимание на контекст.

Нужно правильно расставить в пропуски предложенные варианты
def square_area(side):
    # Возвращаем площадь квадрата
    return input1S

def is_even(number):
    # Возвращаем True, если число четное
    if number % 2 == 0:
        return input2S
    return False
side * side
True
print(side)
side + side
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сохранение результата функции в переменную

id: 40037_task5

Восстановите правильный порядок строк. Сначала нужно объявить функцию, затем вызвать её и сохранить результат в переменную, и только потом вывести эту переменную.

Расставьте строки в правильном порядке
print(f"Price with tax: {final_price}")
def calculate_tax(price):
final_price = calculate_tax(100)
    return price * 1.2
Сообщения
Проверить
Показать подсказку

Функция абсолютного значения

id: 40037_task6

Соберите функцию my_abs, которая возвращает модуль числа. Если число отрицательное, возвращаем его со знаком минус (делаем положительным). Если положительное — возвращаем как есть. Один из фрагментов лишний.

Перетяните в правильном порядке строки из одного блока в другой
def my_abs(x):
    if x < 0:
        return -x
    return x
    print(x)
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что вернет этот код?

id: 40037_task7

Распределите примеры кода по категориям: те, что возвращают конкретное значение (число, строку, булево), и те, что возвращают None (неявно или явно).

Перетяните элементы в соответствующие блоки
Возвращает значимый результат
Возвращает None
return 10 + 5
return
print("Hello")
return "Success"
x = 5
return True
Сообщения
Проверить
Показать подсказку

Термины: Вывод vs Возврат

id: 40037_task8

Сопоставьте действия программы с их описанием. Это поможет окончательно разобраться в разнице между print() и return.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Отображает текст в консоли, но результат теряется для программы
Завершает функцию и передает данные в место вызова
Результат функции, если return не указан явно
return
print()
None
Сообщения
Проверить
Показать подсказку

Трассировка функции с циклом

id: 40037_task9

Проследите за выполнением функции mystery. Она принимает список чисел. Какое число вернет функция при вызове mystery([10, 5, 2])? Введите число.

Что должно получиться?
def mystery(numbers):
    res = 0
    for n in numbers:
        if n % 2 == 0:
            res += n
        else:
            res -= n
    return res

print(mystery([10, 5, 2]))
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру