Имя "абсолютное значение" не определено в Python

Так что я действительно знал кодирование, эта проблема возникла примерно через 5 минут после того, как я начал. Поэтому в настоящее время я прохожу этот курс Coursera, подготовленный доцентом в Уэслиане ( https://www.coursera.org/learn/python-programming-introduction). Одним из упражнений было:

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

Поэтому я решил, что мой ответ должен быть примерно таким:

absolutevalue(num):

""" Computes the absolute value of a number."""

if num >> 0:

absolutevalue =num

print(absolute value)

elif num<< 0:

absolutevalue == -1*num

print(absolutevalue)

else:

print("Absolute value is 0")

Но когда я запускаю код, консоль продолжает говорить:

Traceback (последний вызов был последним):

Файл "", строка 1, в абсолютном значении (5)

NameError: имя 'absolutevalue' не определено

В течение последнего часа я пытался решить проблему, но я не знаю как.

Может кто-нибудь, пожалуйста, помогите мне, и имейте в виду, что это один из моих первых попыток что-то кодировать. Спасибо

3 ответа

Несколько ошибок:

Ваш def заявление отсутствует. Обычно определение функции должно начинаться со строки def absolutevalue(num) а не просто absolutevalue(num),

Вы используете двойные компараторы >> где вы должны использовать одиночные >, Первый - оператор сдвига битов.

Внутри функции вы используете переменную с тем же именем, что и сама функция: absolutevalue, Это не обязательно неправильно, но определенно не особенно удобно.

Ваша функция на самом деле не возвращает абсолютное значение; это просто печатает это.

Изменить: теперь, когда ваш вопрос был отредактирован для использования блоков кода: ваш отступ отсутствует.:)

Надеюсь, это поможет!

Определения функций в Python должны начинаться с def, Функциональные блоки также должны иметь правильные отступы, например:

def absolutevalue(num):
    """ Computes the absolute value of a number."""

    if num > 0:
        return num
    elif num < 0:
        return -1 * num
    return 0

print(absolutenumber(-1))
print(absolutenumber(1))
print(absolutenumber(0))

>>> 1
>>> 1
>>> 0

Вам нужно определить функцию absolutevalue и передать в нее num. Если вам нужно вернуть значение, используйте return скорее, чем print()

def absolutevalue(num):
  if num > 0:
    print(num)
  elif num < 0:
    abs_value = num * -1
    print(abs_value)
  else:
    print("Absolute value is 0")
Другие вопросы по тегам