士尤梨 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日

悬赏问题

  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了