当前位置: 首页 > news >正文

编写一个程序,输入一个数字并输出其阶乘(Python版)

编写一个程序,输入一个数字并输出其阶乘

要计算一个数字的阶乘,可以编写一个简单的 Python 程序,使用循环或者递归来实现:

1. 使用 for 循环计算阶乘

# 输入一个数字
num = int(input("请输入一个数字: "))

# 初始化阶乘结果
factorial = 1

# 计算阶乘
for i in range(1, num + 1):
    factorial *= i

# 输出结果
print(f"{num} 的阶乘是 {factorial}")

2. 使用递归计算阶乘

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n - 1)

# 输入一个数字
num = int(input("请输入一个数字: "))

# 输出结果
print(f"{num} 的阶乘是 {factorial(num)}")

解释:

  • 第一种方法:使用 for 循环从 1 到 num 依次相乘,得到阶乘。
  • 第二种方法:通过递归函数实现,每次递归计算当前数字与其前一个数字的阶乘,直到 n == 0 或 n == 1 时返回 1。

总结:
     两种方法都可以计算数字的阶乘,你可以根据自己的喜好选择使用循环还是递归。需要注意的是,递归方法在数字较大的时候可能会导致栈溢出错误(RecursionError),这时使用循环方法更为安全。

相关文章:

  • Wireshark 插件开发实战指南
  • P1706 全排列问题(DFS)
  • 今日行情明日机会——20250228
  • 巧用 Python 负数步长实现列表反转
  • Pany-v2:LFI漏洞探测与敏感文件(私钥窃取/其他)自动探测工具
  • 深度学习笔记17-马铃薯病害识别(VGG-16复现)
  • 【GESP】C++二级真题 luogu-B4037 [GESP202409 二级] 小杨的 N 字矩阵
  • 科普:ROC AUC与PR AUC
  • 性能测试测试策略制定|知名软件测评机构经验分享
  • Python的rasterio库
  • 单片机开发为什么不用C++?
  • TCP/IP 5层协议簇:网络层(IP数据包的格式、路由器原理)
  • SpringBoot缓存实践
  • 【Nginx 】Nginx 部署前端 vue 项目
  • Go语言学习笔记(五)
  • 说一下接口测试流程有哪些?
  • 深入理解 Python 中的特殊方法和运算符重载
  • DeepSeek 助力 Vue3 开发:打造丝滑的页脚(Footer)
  • 软件测试中的BUG
  • 【azure openai】用tts实现语音对话【demo】
  • 洛阳网站seo/百度seo泛解析代发排名
  • 镇江个人网站建设/免费发布推广信息的平台有哪些
  • 禅城技术支持骏域网站建设/百度做网站需要多少钱
  • 做网站建网站/帮人推广的平台
  • 全国生猪价格今日猪价行情表查询/短视频seo代理
  • qq登录网站授权怎么做/网站维护是做什么的