问题描述

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

对此问题进行分析后,可知需分开编写奇数和偶数的代码。对其分别定义一个函数进行计算,然后再加一个函数判断输入值的奇偶即可。

解决方案

首先定义一个函数,在函数中写上for循环,最后记得加上return。下面来编写一下这个代码。

def o(n):

s =  0

for  i in range(2,n+1,2):

    s += (1 / i)

return  s

 

def  j(n):

s =  0

for  i in range(1,n+1,2):

    s += (1 / i)

return  s

 

def a(n):

if n  % 2 == 0:

     return o(n)

else:

     return j(n)

n =  int(input(“请输入一个正整数:”))

print(a(n))

注:range()中的第三个数字2是代表步长。如果不设置,就是默认步长为1。接下来让我们运行一下此代码:

python|求连续奇偶数的倒数和_算法

图3.1 运行流程

python|求连续奇偶数的倒数和_算法_02

图3.2 运行流程

结语

此题可以从题中了解到需要定义函数来编写,而判断奇偶数只需要取模。在最后不要忘记写上return。遇到此类题只需认真读题,从题目中提取有效条件再多加细心即可。   

python|求连续奇偶数的倒数和_算法_03