Имя "абсолютное значение" не определено в 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")