程序哪里错了,能解答一下吗?

img


编程:首先定义函数以n为参数,实现如果n为奇数,输出表达式1+1/3+…+1/n的值;如果n为偶数,输出表达式1/2+1/4+…+1/n的值;主函数输入一个自然数n,调用之前已定义函数输出表达式结果且保留2位小数。

应该写成 for i in range(1, n+1, 2)
增加的那个2代表每次i增加2。因为本身这个值默认是1,而你又在for里面给i+2,就变成了每次加3了。你只需要把两个for改成我的这个,然后删掉增加i的地方就好了

不要写成i+2,建议直接写成for i in range(1,n+1,2): 这样i的取值就变成【1,3,5,7,9,……】了