1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
## old index value
en_l = 1
factorial = 1
## to calculate n factorial
n = 1 ## iteration variable
invfactorial = 1 ## inverse of n factorial

# while True:
# en = en_l + invfactorial
# n = n + 1
# factorial = factorial * n
# invfactorial = 1.0/factorial
# en_l = en
# if invfactorial > 1e-6:
# pass
# else:
# break

while invfactorial > 1e-6:
en = en_l + invfactorial
n = n + 1
factorial = factorial * n
invfactorial = 1.0/factorial
en_l = en

# print("e = %-.5f"%en)
print("e =", round(en, 5))
# e = 2.71828
1
2
3
4
5
6
def factorial(num):
"""求阶乘"""
result = 1
for n in range(1, num + 1):
result *= n
return result