Python Code не печатает вывод функции в jupyter - PullRequest
0 голосов
/ 22 мая 2019

Я определил свои функции, однако, когда я пытаюсь заставить их печатать, они печатаются как < 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>

Ответы [ 5 ]

0 голосов
/ 22 мая 2019

Прежде всего, если вы новичок в 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

0 голосов
/ 22 мая 2019

Этот код ниже возвращает результат:

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)
0 голосов
/ 22 мая 2019

Это должно исправить

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))
0 голосов
/ 22 мая 2019

Вы можете использовать:

l =45
print("A latitude of {} equals a salinity value of {}".format(l, sal_of_seawater(l)))
0 голосов
/ 22 мая 2019

ваш оператор печати неверен. Чтобы получить оператор возврата, вызовите его как

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 соответственно

...