用函数递归的方式编写n的阶乘函数 

要求:

1、让用户输入n

2、输出n的阶乘

 

程序实现如下:

s=1
def func(n):
    global s
    s=s*n
    n=n-1
    if n!=0:
        func(n)
#    else :
#        pass
    return
func(int(input('请输入一个数n:')))
print('其阶乘为:',s)

注:

1、全局变量在函数中修改会报错,使用 global关键字 声明为全局变量即可解决;

2、键盘输入的数字为'str'类型,更改为'int'类型后再进行计算;

3、并非if都需要else与之对应,此例中若加入else,则可使用pass占位符来满足缩进的需求。