哪里写错了呀 怎么运行不对

img


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

你的 print 在哪里?缩进到哪里去了

def f(n):
    return sum([1 / v if v > 0 else 0 for v in range(n % 2,n + 1,2)])

print(f(3))

删除最后两行的缩进。空白不要

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7695861
  • 除此之外, 这篇博客: Python练习题——第九题:编写一个函数,输入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 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    #2019/12/26/18:16
    
    def  fuc1(n):
    	sum=0
    	for i in range(1,int(n/2)+1):#编写fun1函数求得1/2+1/4+...+1/n
    sum=sum+1/(2*i)
    		print(sum)	
    def fuc2(n):# 编写fun1函数求得1/2+1/4+...+1/n
    	sum=0
    	for i in range(1,int((n+1)/2)+1):#没有int cmd运行时有错
    		sum=sum+1/(2*i-1)
    		print(sum)
    n=int(input("请输入:"))
    if(n%2==0):#偶数时调用函数fuc1();奇数时调用函数fuc2()
    	fuc1(n)
    else:
    	fuc2(n)
    
  • 以下回答来自chatgpt:

    对不起,我不清楚你想要解决的问题是什么。 请提供更具体的信息,以便我能够提供更准确的答案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^