Python練習題4.13求誤差小於輸入值的e的近似值


自然常數e可以用級數1+1/1!+1/2!+⋯+1/n!來近似計算。ei代表前i項求和。輸入誤差范圍error,當
ei+1-ei<error,則表示e的近似值滿足誤差范圍。

輸入格式:

在一行輸入誤差范圍。

輸出格式:

在一行輸出e的近似值(保留6位小數)。

代碼如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

#這個比階乘多了個1,就說怎么看起來怪怪的。
def jc(n):
    sum = 1
    for i in range(3,n+1):
        sum = sum * (i-1)
    return sum

#定義自然常數e的方法,ei方法
def e(n):
    sum = 0
    for i in range(1,n+1):
        sum += 1/jc(i)
    return sum

#print(jc(n))
#print(e(n))

j = float(input())
n = 0
while True:
    n += 1
    if e(n+1) - e(n) < j:
        #這里應該輸出e(n)的喔,但是測試結果是e(n-1)才正確
        print("{:.6f}".format(e(n+1)))
        break

這個程序根本上不是很難。如果學習了函數定義方法,很簡單的。拆解程序,先做啥,在做啥,一步一步,程序就很簡單了,看起來結構也清晰明了。

1、定義分母方法。

2、求ei的值。

3、比較輸出。

這個題目屬於第四章,應該是考察的while、for循環和if判斷。但是如果只用這幾個的話,可能程序會很復雜。(*^__^*) 嘻嘻


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM