Задать вопрос
@albertalexandrov

Как правильно размещать return?

Какой вариант размещения return правильный:

вариант 1:
def f(x):
  if x <= -2:
    f = 1 - (x+2)**2
  elif -2 < x <= 2:
    f = -x/2
  else:
    f = (x-2)**2 + 1
  
  return f


вариант 2:
def f(x):
  if x <= -2:
    return 1 - (x+2)*(x+2)
  elif -2 < x <= 2:
    return -x/2
  return (x-2)*(x-2) + 1
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Решения вопроса 1
@fireSparrow
Оба варианты допустимы. Выбирайте тот, который обеспечит большую читабельность и ясность кода.

Для такого простого примера предпочтительным будет второй случай. Если бы там присутствовали более громоздкие вычисления, то имело бы смысл выбрать первый вариант.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
def f(x):
    if x <= -2.: # здесь и дальше явный float предпочтителен
        return 1. - (x + 2.) * (x + 2.)
    elif x <= 2.: # выкинуть лишнее сравнение
        return -0.5 * x # унарный минус перед x - это отдельная операция, нафиг её
    return (x - 2.) * (x - 2.) + 1.
Ответ написан
Комментировать
@DenisCompany
Ламер, Любитель, Linux-ид, Python-ист
Все варианты приемлемы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы