Python series函数求和结果异常求助:输出35而非预期25
问题分析与解答
首先,你的series(1, 5, "2*n+1")返回35是正确结果,因为对n从1到5逐个计算2*n+1并求和:
- n=1 → 3
- n=2 → 5
- n=3 → 7
- n=4 → 9
- n=5 → 11
总和:3+5+7+9+11=35
你预期的25对应的是另一个表达式的求和结果:如果表达式是2*n-1,n从1到5的和为1+3+5+7+9=25,这可能是你混淆了表达式导致的预期偏差。
另外注意你提供的factorial函数存在缩进错误,正确的缩进应该是:
def factorial(num): n = 1 for i in range(1, num+1): n *= i return n
(原代码中n = 1的缩进比for循环少一级,会引发语法错误,你能正常运行应该是输入时的格式失误)
内容的提问来源于stack exchange,提问作者MistyKing
相关产品推荐
相关产品推荐

