Python 中具有打印功能的阶乘函数

Factorial function in Python with print function

def factorial(n):
   """Function to return the factorial
   of a number using recursion"""
   if n == 1:
       return n
   else:
       return n*factorial(n-1)

def main():
    for i in range(1,10):
        f = factorial(i)
        print(f'{i}! = {f}')

if __name__ == "__main__":
    main()

对于结果,我不断收到一条错误消息,指出 "Invalid Syntax" 打印语句所在的位置。

我正在创建一个阶乘函数,我希望输出如下所示:

 1!=1
 2!=2
 3!=6
 4!=24
 5!=120
 6!=720
 7!=5040
 8!=40320
 9!=362880

我一遍又一遍地检查我的代码,看看我是否犯了任何错误,但我没有发现任何错误。

打印语句

print(f'{n}! = {f}')

如果您使用的 Python 版本低于 3.6,可能会出现 SyntaxError - 请阅读 here

该版本引入了 f-string 语法。

如果您使用的是较低版本,您可以尝试使用 format 方法 - 阅读 here - 如下:

print("{}! = {}".format(n, f))
def factorial(n):
"""Function to return the factorial of a number using recursion"""
if n == 1:
    return n
else:
    return n*factorial(n-1)

def main():
    print("NOTE: Parameter n has to be greater or equal to 1")
    n = int(input("Parameter 1: "))
    m = int(input("Parameter 2: "))
    print()
    for i in range(n,m):
        f = factorial(i)
        #print(f'{i}! = {f})
        print("{}! = {}".format(i, f))

 if __name__ == "__main__":
       main()