Я определил свои функции, однако, когда я пытаюсь заставить их печатать, они печатаются как < function salinity_seawater at 0x2537f670 >
Я пытался перезапустить несколько раз, но ничего не работает.
Вот участок кода:
def sal_of_seawater(l):
sal_of_seawater = (-0.0222*l)+34
return sal_of_seawater
print("A latitude of", l, "equals a salinity value of", sal_of_seawater)
вывод кода:
A latitude of 45 equals a salinity of <function sal_of_seawater at 0x109f29730>
передать аргумент функции sal_of_seawater
ваш оператор печати неверен. чтобы получить оператор возврата функции, назовите его как
print("A latitude of", l, "equals a salinity value of", sal_of_seawater(10))
Или
print("A latitude of", l, "equals a salinity value of", sal_of_seawater(l))
Определите l соответственно
Это должно исправить это
def sal_of_seawater(l):
res = (-0.0222*l)+34
return res
l = 45
print("A latitude of", l, "equals a salinity value of", sal_of_seawater(l))
Вы можете использовать:
l =45
print("A latitude of {} equals a salinity value of {}".format(l, sal_of_seawater(l)))
Этот код ниже возвращает вывод:
A latitude of 45 equals a salinity value of 33.001
Вместо того, чтобы возвращать вычисленное значение, я сразу помещаю print
внутрь def sal_of_seawater(l):
Затем вызов sal_of_seawater(<some value>)
для возврата вывода.
def sal_of_seawater(l):
sal_of_seawater = (-0.0222*l)+34
print("A latitude of", l, "equals a salinity value of", sal_of_seawater)
sal_of_seawater(45)
Сначала, если вы новичок в Stackoverflow, проверьте различные параметры форматирования, доступные в Stackoverflow, чтобы другой человек мог четко понять, что делает ваш код. Например, я думаю, ваш код должен быть таким: (Для форматирования кода Ctrl+K)
def sal_of_seawater(l):
sal_of_seawater = (-0.0222*l)+34
return sal_of_seawater
l = 45
print("A latitude of", l, "equals a salinity value of", sal_of_seawater)
Здесь функция печати работает правильно, проблема заключается в том, что аргумент не передается в вызов функции, а именно, sal_of_seawater в функции печати, передача sal_of_seawater(l) решит проблему.
Функции в Python сами по себе являются объектом, а объект имеет какое-то значение. Поскольку вы не передали ни одного аргумента, функция не запускается здесь и, следовательно, возвращает значение по умолчанию 0x109f29730, которое является местоположением объекта.
PS: вы можете перейти по этой ссылке, чтобы узнать больше о функциях в Python: https://www.guru99.com/functions-in-python.html
Вы возвращали саму функцию соленой воды. Вам нужно было поместить аргумент и оценить функцию в операторе печати. Вот почему ты ошибся
нет, не знаю, как это улучшит ситуацию? я новичок в кодировании