用Python如何实现编程满足下列要求

求给定整数 n 的阶乘,如:5!=120。
要求:

  1. 整数n由用户输入;(需注意类型问题)

  2. 分别用 循环 和 函数递归 来实现。

  3. 依次求1~10的阶乘,结果储存在列表中。

可以参考如下代码:

def factorial_cycle(n):
    """循环实现阶乘"""
    result = n
    for i in range(1, n):
        result *= i
    return result


def factorial_recursion(n):
    if n == 1:
        return 1
    else:
        return n * factorial_recursion(n-1)


if __name__ == '__main__':
    num = int(input('请输入要计算阶乘的数字:'))
    print(factorial_cycle(num))
    print(factorial_recursion(num))
    # 依次求1~10的阶乘,结果储存在列表中
    # 定义列表保存结果
    cys_list = []
    recursion_list = []
    for i in range(1, 11):
        cys_list.append(factorial_cycle(i))
        recursion_list.append(factorial_recursion(i))

    print(cys_list)
    print(recursion_list)

运行结果如下:

img


#循环
def a(n):
    y = 1
    for i in range(1,n+1):
        y *= i
    return y

#递归
def b(n):
    if n == 1:
        return 1
    else:
        return n * a(n-1)
    
x = int(input('输入整数'))
print(a(x))