python编程:输入一个自然数n,如果n为奇数,输出表达式1+1/3+…+1/n的值
展开全部
def sumlist(n):
if n%2==0:
numlist=[1/(2*x) for x in range(1,(n/2)+1)]
return round(sum(numlist),2)
else:
numlist=[1/x for x in range(1,(1/n)+1
reurun round(sum(numlist),2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
n=int(input())
sum=0
if n%2==1:
for i in range(2,n+1,2):
sum+=1/i
else:
for i in range(2,n+1,2):
sum+=1/i
print(round(sum,2))
sum=0
if n%2==1:
for i in range(2,n+1,2):
sum+=1/i
else:
for i in range(2,n+1,2):
sum+=1/i
print(round(sum,2))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比较常规的方法:
def test(n):
a=0
if n % 2 == 0:
for i in range(2,n+1,2):
a=a + (1/i)
else:
for i in range(1,n+1,2):
a=a +(1/i)
return a
效率更高一点的方法:
import numpy as np
def test_1():
n=input("请输入需要计算的自然数:")
n=float(n)
if n<=0 or n!=int(n):
print("请确保输入的数值是自然数(大于0的整数)")
elif n%2==0:
a=np.arange(2,n+1,2)
print("计算结果是:" + str(sum(1/a)))
else:
a=np.arange(1,n+1,2)
print("计算结果是:" + str(sum(1/a)))
def test(n):
a=0
if n % 2 == 0:
for i in range(2,n+1,2):
a=a + (1/i)
else:
for i in range(1,n+1,2):
a=a +(1/i)
return a
效率更高一点的方法:
import numpy as np
def test_1():
n=input("请输入需要计算的自然数:")
n=float(n)
if n<=0 or n!=int(n):
print("请确保输入的数值是自然数(大于0的整数)")
elif n%2==0:
a=np.arange(2,n+1,2)
print("计算结果是:" + str(sum(1/a)))
else:
a=np.arange(1,n+1,2)
print("计算结果是:" + str(sum(1/a)))
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询