Python中带打印功能的阶乘函数

时间:2019-06-17 13:24:40

标签: python factorial

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()

为得到结果,我不断收到一条错误消息,显示打印语句所在的位置,显示“语法无效”。

我正在创建一个阶乘函数,我希望输出看起来像这样:

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

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

2 个答案:

答案 0 :(得分:1)

打印声明

print(f'{n}! = {f}')
如果您使用的Python版本低于3.6,则

可能会出现SyntaxError-阅读here

该版本中引入了f字符串语法。

如果您使用的是较低版本,则可以尝试使用format方法-读为here-这样:

print("{}! = {}".format(n, f))

答案 1 :(得分:0)

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()