繁体   English   中英

使用python仅使用for和while循环对序列的n个项求和

[英]Using python to sum n terms of a sequence using only for and while loops

我不得不要求用户输入n个词项,以及他们为该序列选择的x值。

x^5/5 - x^7/7 + x^9/9 - x^11/11 + ...

我在每隔两个字词就说明符号更改时遇到了麻烦,并且不能使用任何if语句。

任何帮助将不胜感激,谢谢!

到目前为止,我的代码:

print(" ")
print("Please enter the number of terms you would like to sum up.")
print("The sequence is x^5/5-x^7/7+x^9/9-...")
print(" ")
n=int(input('Number = '))
print(" ")
print("Please enter the number for x.")
print(" ")
x=int(input('x = '))
#
nsum=0
for i in range(5,n+6,2):
    coefficient=1/i
    for j in range(5,i+1,2):
        coefficient=-1*coefficient
    nsum=nsum+coefficient*x**i
#
print(nsum)

您的序列显示,如果n为奇数,则第n个项为正,如果为偶数,则为负。 因此,您可以在for循环中执行此操作。 同样在您的代码中,用户输入n不等于项数:

nsum=0
for index in range(0, n):
    coefficient=(-1)**(index)
    i =  2*index + 5
    nsum=nsum+coefficient*x**i/i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM