-1

わかりました、while ループを使用して平均を計算する関数を Python で作成することに困惑しています。for ループを使用するのは簡単ですが、代わりに while ループを使用してこの関数を再作成する方法がわかりません。

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

この関数に while ループを使用する方法を教えてください。

4

3 に答える 3

1

ヒント:

  • s[i]たとえば、インデックスを使用してリストから値を取得できます。
  • whileループは、リストの最後に到達したことを確認するためにテストする必要があります。
  • len()を使用すると、リストの最後にいることがわかります。
于 2012-04-24T04:14:07.247 に答える
0

役立つヒントをお伝えします。Pythonリストでは、次のように角かっこを使用してリスト内の要素にアクセスできますlist[3]これにより、リストの4番目の要素が返されます。最初の要素はインデックス0(list[0])にあります。

于 2012-04-24T04:13:50.230 に答える
0
i = 0
total = 0.0
while(i < len(list))
    total = total + list[i]
    i = i+1
return total/len(list)

しかし、そもそもなぜこのタスクに使用forしたいのですか?while次のような機能的なアプローチを使用する方が簡単です。

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

あるいは単に

return sum(list) / len(list)
于 2012-04-24T04:15:01.543 に答える