自定义非递归因子函数在执行后拒绝进一步输入

时间:2015-07-15 15:58:37

标签: python python-idle factorial

我正在尝试在Python中编写一个简单的factorial函数,但是在执行时,这个函数只是做了什么,并且由于某些奇怪的原因而固有地崩溃了控制台。

请记住,我大约一周前才开始使用Python编码,并习惯使用其他低级OOP语言,所以请原谅任何明显的错误。

这是我目前的职能:

# initialise factorial function:
def factorial(n):
    i = 1 # initialise incrementing variable
    while i < n:
        n = n * i
        i = i + 1
    return n # return result

该功能只是不打印任何内容,并拒绝任何进一步的输入。

2 个答案:

答案 0 :(得分:1)

尝试使用此功能:(适用于n&gt; = 0)

def factorial(n):
    i = n
    while i > 1:
        i -= 1
        n *= i
    return n

或(适用于n> 0)

void feed_response(int requestId, string copmanyname, string someinformation)
 {
   SQL.sendToSQL(int id, string copmanyname, string someinformation);
 }

答案 1 :(得分:0)

n=int(input("Enter a number "))
result=1
for i in range(1,n+1):
    if i<n:
        result=result*(i+1)
print("Factorial of {} is {}".format(n,result))