python题目-奇偶数调用函数

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

 

from functools import reduce

a = []
c = []

def Even(n):
    for i in range(1,n+1):
        if i % 2 == 0:
            a.append(1/i)
        else:
            continue
    b = reduce(lambda x,y:x+y,a)
    return b

def Odd(n):
    for i in range(1,n+1):
        if i % 2 == 0:
            continue
        else:
            c.append(1/i)
    d = reduce(lambda x,y:x+y,c)
    return d

if __name__ == '__main__':
    n = int(input('请输入任意数字:'))
    if n == 0 :
        print('请重新输入!')
    elif n < 0:
        print('请重新输入!')
    elif n % 2 == 0:
        print(Even(n))
    else:
        print(Odd(n))

你可能感兴趣的:(python题目)