2017-05-28 4 views
1

Pythonに新しく役立ついくつかの助けが必要です。Pythonでどのように値を目標値を超えてはならないフィボナッチシリーズを生成するのですか

私はフィボナッチシリーズを生成し、各要素をリストにプッシュしようとしています。フィボナッチリストに目標値より大きな要素を含めることを望まないような条件を設定したいと思います。関数myFibを作成して、このリストを生成し、20の引数を渡します。フィボナッチリストには20未満の値しか含まれていないと期待しています。ループが要素21を追加した後で停止し、ここに。私はこれがうまくいけば、2000000の目標値でそれをやりたいので、大きな目標値を設定する前に整備士を見つけようとしています。助けをお待ちしています。私は取得しています

def myFib(max_count): 
    a = 1 
    b = 1 
    fiblist = [1, 1] 
    while fiblist[-1] <= max_count: 
     temp = a 
     a = b 
     b = temp + a 
     fiblist.append(b) 
     print(fiblist) 
    return fiblist 

myFib(20) 

出力は

である[1、1、2、3、5、8、13、21]

答えて

0

あなたはwhileを破るあなたのコード内の条件を追加することができますこの例のように、あなたのmax_count変数を超える任意の値を持たないようにするためのループ、:

def myFib(max_count): 
    a = 1 
    b = 1 
    fiblist = [1, 1] 
    while fiblist[-1] <= max_count: 
     temp = a 
     a = b 
     b = temp + a 
     if b > max_count: 
      break 
     fiblist.append(b) 
     # print(fiblist) 
    return fiblist 

出力:

myFib(20) 
>>> [1, 1, 2, 3, 5, 8, 13] 
関連する問題