2015-12-28 3 views
1

Итак, я нашел этот сайт под названием codewars.com и хотел зарегистрироваться. Когда я выбрал свой язык как python, это помогло мне решить проблему:Выполнение функции Python

Код не выполняется должным образом. Попытайтесь выяснить, почему.

def multiply(a, b): 
    a * b 

Я не могу понять, почему. Он корректно выполняется в PyCharm, используя python 3.4, когда я добавил print(a*b) вместо * b и когда я вызвал функцию, используя multiply(2,3). Код также успешно выполняется с использованием только данного фрагмента. Было указано, что приведенный выше код python находится в 2.7. Любые идеи?

+2

Вы рассмотрите возможность использования возврата, чтобы вернуть результат * б? – frlan

+0

Вы хотите, чтобы эта функция возвращала значение (a * b)? Если так, просто используйте 'return (a * b)'. –

+0

Вам нужно что-то вернуть, в противном случае функция недействительна. Он должен положить конец функции: return a * b – miguels

ответ

6

Если это функция, ей нужно что-то вернуть. В противном случае его использование бесполезно.

Таким образом, вы, вероятно, нужно сказать:

def multiply(a, b): 
    return a * b 

Вы, наверное, хотите узнать больше о функциях в Python, и когда это будет иметь смысл (передача по ссылке, например). Это может быть хорошей отправной точкой: Python functions.

+0

Да. Это решило проблему для меня. Я был в тупике, потому что он сказал, что код не выполняется должным образом. Без оператора return код выполнялся отлично. Это и послужило причиной моей путаницы. – RaviTej310

+0

@ Сиби Точно. Код не является ошибочным * per se *. Его ошибка заключается в том, что она бесполезна, как есть. – fedorqui

1

Там нет возвращаемого значения, то код будет ОК

def multiply(a, b): 
    return a * b 
Смежные вопросы