Я начинающий питон, и здесь я застреваю при попытке определить факториальную функцию. Проблема заключается в том, что я помещаю печать вместо возврата, функция работает отлично, но, к сожалению, мне нужно использовать факториальную функцию в другой функции, что означает, что мне нужен оператор return. ! любом случае (http://postimg.org/image/bgctbpi31/)Оператор возврата не работает
#!/usr/bin/python
def fact(x):
x=int(input("enter a number : "))
result=1
if x<0:
print'it does not exist'
elif x==0:
return result
else:
for i in range (1,x+1):
result=result*i
return result
return result
fact(5)
Кодекс текст. Пожалуйста, предоставьте [минимальный пример] (http://stackoverflow.com/help/mcve) и точное описание проблемы ** в самом вопросе ** - снимки вне сайта * не являются приемлемым способом предоставления кода *. – jonrsharpe
Защиту факт (х): х = INT (вход ("Введите число:")) результат = 1 если х <0: print'it не существует» Элиф х == 0: возвращаемый результат еще: для г в диапазоне (1, х + 1): результат = результат * я возвращать результат обратный результат факт (5) –
Прежде всего - возвращение оператор работает правильно, вы просто используете это неправильно. Чего вы пытаетесь достичь? Если вы ожидаете, что факт (5) напечатает результат на экране - вы ошибаетесь, для этого вы должны написать 'print fact (5)'. Во-вторых - вы возвращаете результат внутри цикла, который останавливает ваш цикл, просто найдите чужую функцию 'fact' и посмотрите, как это делается. – Rusty