计算s=1+1/3-1/5+1/7-1/9+……的值

编写程序,计算s=1+1/3-1/5+1/7-1/9+……的值

n=int(input('请输入下标最大值:'))
s=1
index=0
for i in range(1,n+1,2):
    if index %2==0:
        s+=1/i
    else:
        s-=1/i
    index+=1
print('%.2f'%s)

n = eval(input("请输入项数:"))
s = 1
flag = 1
for i in range(2,n+1):
    s = s + flag / (2*i-1)
    flag = -flag
print(s)

运行结果:

img

代码:

n = int(input('请输入需要计算的项数:'))
s = 1

if n == 1:
    print(s)
else:
    print('1',end='')
    for t in range(2,n+1):
        k = 2*t-1
        if t % 2 == 0:
            print('+1/%d'%k,end='')
            s = s + 1/k
        else:
            print('-1/%d' %k, end='')
            s = s - 1/k
    print('=%f'%s)


n = int(input("请输入项数:"))
s = 0
sign = 1
for i in range(n):
    s += sign / (2 * i + 1)
    sign *= -1
print("s的值为:", s)

以下是用Python编写的程序,计算s=1+1/3-1/5+1/7-1/9+……的值:

n = int(input("请输入要计算的项数:"))
s = 0
sign = 1

for i in range(1, n*2, 2):
    s += sign * (1/i)
    sign = -sign

print("前%d项的和为:%f" % (n, s))

程序首先让用户输入要计算的项数,然后通过for循环计算每一项的值,并根据正负号进行累加。最后输出前n项的和。

例如,如果用户输入n=5,则程序将计算前5项的和,结果为:

前5项的和为:0.827061
注意:这个级数是收敛的(对于无限项),但当项数足够大时需要考虑精度误差问题。