...输入一个自然数n,如果n为奇数,输出表达式1+1/3+…+1/n的值_百度知...

发布网友 发布时间:1天前

我来回答

4个回答

热心网友 时间:1天前

def summ(n):
if n%2:
m=1
else:
m=2
return round(sum([1/x for x in range(m,n+1,2)]),2)
print(summ(5))

热心网友 时间:1天前

比较常规的方法:
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)))

热心网友 时间:1天前

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)

热心网友 时间:1天前

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))

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com