具体要求和输出事例图里面都有
第1,2两题代码可这样写:
#1
e=1
n=0
lim=float(input('limit:'))
while True:
n+=1
a=1
for i in range(1,n+1):
a*=i
e+=1/a
if 1/a < lim:
print(f"e={e:.10f}")
break
#2
n=int(input('n='))
s=1
b=1
for i in range(1,n):
s+=(-1)**i*i/(b+i)
b+=i-1
print(f'前{n}项和为{s:.5f}')
运行结果:
F:\2021\qa\ot2>t6
limit:0.00000001
e=2.7182818283
n=5
前5项和为1.06667
如有帮助,请点击我回答左下角【采纳该回答】按钮
#求阶乘方法
def jc(n):
sum = 1
for i in range(1,n+1):
sum = sum * i
return sum
n = float(input())
result = 1
for i in range(1,1000):
if 1/jc(i)<n:
break
result = result+1/jc(i)
print("{:.10f}".format(result))