自然常數e可以用級數1+1/1!+1/2!+…+1/n!來的=近似計算。輸入一個小於1的浮點數作為閾值,用該公式計算e的近似值,直至最后一項(1/n!)小於給定的閾值為止。
題目分析
直至最后一項(1/n!)小於給定的閾值為止:表明循環次數不明確,建議使用while而不是for循環
1+1/1!+1/2!+…+1/n!:涉及階乘的計算,考慮用到math庫中的factorial函數
import math
#也可以寫成from math import *
yu = float(input())
sum = 1
#設求和的初始值為1
x = 100
#給循環設置一個判斷是否繼續的標准,大於等於1即可
n = 1
#設置循環變量,控制循環的次數、參與計算
while(x >= yu):
sum = sum + 1/math.factorial(n)
x = 1/math.factorial(n)
#factorial是求階乘的函數,包含在math庫中
n = n + 1
print(sum)