.编写一个函数, 输入n为偶数时, 调用函数求1/2+1/4+…+1/n, 当输入n为奇数时,调用函数1/1+1/3+…+1/n

.编写一个函数,
输入n为偶数时,
调用函数求1/2+1/4+…+1/n,
当输入n为奇数时,调用函数1/1+1/3+…+1/n。

img


为什么运行出来显示进程已结束?

你的os函数编辑后未调用程序做下面修改即可


def os(n):
    sum = 0
    for i in range(1, int(n / 2) + 1):
        sum = sum + 1 / (2 * i)
        print(sum)

        def js(n):
            sum = 0
            for i in range(1, int((n + 1) / 2) + 1):
                sum = sum + 1 / (2 * i - 1)
                print(sum)
                n = int(input("请输入:"))
                if (n % 2 == 0):
                    print(os(n))
                else:
                    print(js(n))
os(100)

img

函数在写完后,必须调用才能执行。


# -*- coding:utf-8 -*-

def caculate(n):
    sum = 0
    num = ''
    if n % 2:   #表示奇数
        for i in range(1,n+1):
            if i % 2:
                sum += 1/i
                num = num + '{}+'.format( '1' + '/' + str( i ) )
        print(num.rsplit('+',1)[0]+' =',round(sum,2))
    else:
        for i in range(1,n+1):
            if not i % 2:
                sum += 1/i
                num = num + '{}+'.format( '1' + '/' + str( i ) )
        print(num.rsplit('+',1)[0]+' =',round(sum,2))




num = int(input('请输入一个正整数:'))
caculate(num)





def sum(n):
  start = 2 if n%2==0 else 1
  sum = 0
  while start <= n:
    sum += (1 / start)
    start += 2
  return sum