士尤梨 2022-07-19 07:02 采纳率: 84.6%
浏览 43
已结题

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

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

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

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

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

  • 写回答

2条回答 默认 最新

  • 二三言 2022-07-19 08:12
    关注

    可以参考如下代码:

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月28日
  • 已采纳回答 7月20日
  • 创建了问题 7月19日