python计算e的近似值

请求帮助!

img


输入格式:
输入一个浮点数error,表示误差
输出格式:
输出e的近似值

输入样例1:
在这里给出一组输入。例如:
0.01
在这里给出相应的输出。例如:
2.7166666666666663

输入样例2:
在这里给出一组输入。例如:
0.000000001
在这里给出相应的输出。例如:
2.7182818284467594


error = float(input())
result = 1
temp = 1
i = 1

while True:
    last_result = result
    temp = temp * i
    result = result + 1 / temp
    if result - last_result < error:
        break
    i += 1

print(result)

>>> import math
>>> def fact(x):
    if x == 0:
        return 1
    s = 1
    for i in range(x):
        s *= i+1
    return s

>>> def test():
    error = float(input('请输入一个浮点数作为误差:\n'))
    i = 0
    ei = 0
    while True:
        ei += 1/fact(i)
        if abs(ei - math.e) < error:
            print(ei, i)
            break
        else:
            i += 1

            
>>> test()
请输入一个浮点数作为误差:
0.01
2.708333333333333 4
>>> test()
请输入一个浮点数作为误差:
0.00001
2.71827876984127 8