在Python 2.7.x中查找系列的总和

时间:2016-08-25 17:37:38

标签: python

这是等式

x + x^2/2 + x^3/3 +.... x^n/n

我如何找到这个系列的总和? x是用户输入的常数项,n是功率也基于用户!

我制作了这个程序,但它无法正常工作..看看 -

n=input("Enter power ")
x=input("Enter value of x")
i=0
while i<n:
    c=n-1
    res=(x**(n-c))/(n-(c))
    print res
    i=i+1

那我们怎么做呢?非常感谢您的帮助!

更新:答案帮助了我,现在程序正常运作!这是我第一次使用Stackoverflow!感谢所有人。

3 个答案:

答案 0 :(得分:2)

你的循环有这样的东西吗?试图保持简单。

n = input("Enter power ")
x = float(input("Enter value of x"))

ans = 0
for i in range(1, n+1):
    ans += x**i/i

print(ans)

参见zev关于花车的答案

答案 1 :(得分:2)

您不是在一起添加这些条款。

,当x是整数时,您需要注意使用浮点除法。 See this thread

这是一个有效的实施方案:

n = input("Enter power: ")
x = input("Enter value of x: ")
result = 0
for i in range(1, n+1):
    result += (x**i) / float(i)
print result

答案 2 :(得分:0)

您的程序问题是您没有添加总和。请参阅:res=(x**(n-c))/(n-(c))。而是做:

res += (x**(n-c))/(n-(c))

您也可以使用内置的summaplambda函数来实现它:

y = 5  # or any of your number
sum(map(lambda x: (y**x)/float(x), xrange(1, y)))