Задать вопрос
@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
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 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-ист
Все варианты приемлемы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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