2012-04-24 8 views
-1

まあ、私は平均を計算するwhileループを使用するPythonで関数を作成するのが面倒です。 forループを使用するのは簡単ですが、whileループを使用してこの関数を再作成する方法はありません。whileループを使用してPythonの平均を計算する

def average(list): 
    total = 0.0 
    for number in list: 
     total = total + number 
    return total/len(list) 

誰でも私にこの機能のwhileループを使用する方法を教えてください。

+0

のように、機能的なアプローチを使用する方が簡単です。 –

+2

変数名として 'list'を使用しないでください。組み込みの 'list'型をシャドーイングしています。 –

+0

なぜwhileループを使用するのですか?それは宿題ですか?良い方法は: 'avg = float(sum(l))/ len(l)' – Zenon

答えて

0

私はあなたに役立つヒントを提供します。 Pythonのリストでは、大括弧を使用してリスト内の要素にアクセスできます。つまり、list[3]です。これにより、一覧に4th要素が返されます。最初の要素はインデックス0(list[0])です。

1

ヒント:

  • あなたが例えばインデックス、s[i]を使用して、リストから値を取得することができます。
  • whileループは、リストの終わりに達したかどうかを調べるためにテストする必要があります。
  • あなたはLEN()
0
i = 0 
total = 0.0 
while(i < len(list)) 
    total = total + list[i] 
    i = i+1 
return total/len(list) 

を使用して、リストの最後にいるときは、伝えることができますしかし、なぜあなたは最初の場所で、このタスクのためにforwhileを使用するようにしたいですか?あなたのような宿題をタグ付けする必要があります

return reduce(lambda x, y: x+y, list)/len(list) 

か、単に

return sum(list)/len(list) 
+0

あなたの機能的なアプローチにはバグがあります。 –

関連する問題