@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
  • Вопрос задан
  • 170 просмотров
Решения вопроса 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-ист
Все варианты приемлемы.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы