2017-03-16 12 views
0

式のnの値と1/eの値の差が0.0001未満の式(1-1/n)**nのnの値に近似します。Pythonを使用して条件を指定してアルゴリズムを書く方法

Pythonでwhileループとforループを使用するにはどうすればいいですか?

は、私は次のコード

from math import exp 
value = 1/exp(1) # e being the exponential 
n = 1; 

while check < 0.0001: 
    n=n+1 
    formula = (1-1/n)^n 
    check = value - formula 
    if check <0.0001: 
     print(n) 

whileを使用してみましたが、チェックがwhile前に定義されていないため、プログラムが実行されません。

もっと良い解決策はありますか?

+1

'(1-1/n)^ n'はあなたの考えをしません。 –

+0

'while while 'を使用し、チェックの条件が満たされた場合に中断します。 –

+0

あなたは '(1-1/n)** n'を意味しますか? – linusg

答えて

1

は先頭にチェックを定義し、後者はところでpythonで

import math 
value = 1/math.exp(1) # e being the exponential 
n = 1 
check=1 

while check > 0.0001: 
    n=n+1 
    formula = (1-1/n)**n 
    check = value - formula 

print(n) 

電源を書き込むための正しい方法であるとして、**^を置き換える、^はPythonでビット単位のXOR演算子です。詳しい説明はこちらからご覧ください: http://python-reference.readthedocs.io/en/latest/docs/operators/bitwise_XOR.html

関連する問題