Python实现阶乘求和:计算1! + 2! + ... + n!

本篇博客将带你使用Python编写程序,计算从1到n的阶乘之和。

程序目标:

用户输入一个整数n,程序计算并输出1! + 2! + ... + n! 的值。

代码示例:

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

n = int(input('please input an integer: '))
sum = 0

for i in range(1, n+1):
    sum += factorial(i)

print('1! + 2! + ... + %d! = %d' % (n, sum))

代码解读:

  1. factorial(n) 函数:

    • 该函数使用递归的方式计算n的阶乘。
    • 当n为0时,返回1 (0! = 1)。
    • 当n大于0时,返回 n * (n-1)!,递归调用自身计算(n-1)的阶乘。
  2. 主程序部分:

    • 首先,程序提示用户输入一个整数,并将其存储在变量n中。
    • 接着,初始化变量sum为0,用于存储阶乘的累加和。
    • 使用for循环遍历从1到n的所有整数i
    • 在循环内部,调用factorial(i)计算i的阶乘,并将结果加到sum中。
    • 最后,程序打印输出最终的阶乘和。

注意事项:

  • 该代码假设用户输入的n为非负整数。
  • 为了增强程序的健壮性,可以添加输入合法性检查,例如判断用户输入是否为整数,以及是否为非负数。

希望这篇博客能够帮助你理解如何使用Python计算1!+2!+...+n!的值。通过学习递归函数和循环的使用,你可以编写更加灵活和高效的程序。

Python阶乘求和:计算1!+2!+...+n!

原文地址: https://www.cveoy.top/t/topic/PJc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录