2016-10-30 21 views
-2

私はイントロプログラミングクラスに入っていて、今はループの学習を始めました。私の質問は、入力の平均値について質問し、それはwhileループで行われるはずです。ユーザが数字の代わりに終わりを入力すると、ループの終わりを意味し、平均値を計算する。プログラムは平均値を出力し、それを返すべきです。また、ユーザが何も入力せずに直接入力を終了した場合は、「No numbers were entered」と表示されます。ループを作成しようとしましたが、私のループが実行されていないことがわかりません。 また、私はここに私はこれまでに書いたコードPythonでの入力の平均値

def avgOfTheSum(): 
    total = 0 
    avg = 0 
    count = 0 
    while True: 
     number = input("Enter next number:") 
     if number != 'end': 
      num = float(number) 
      total = total + num 
      count = count + 1 
      average = total/count 
     else: 
      print("The Average is:",average) 
      break 
    return average 
+0

は、これまで – Mureinik

+1

、私はあなたがここに求めているようにあなたも、あなたのためのあなたの宿題をするために他の人を求めるために許可されていない推測しているあなたのコードを共有してください。私たちは人々のためのコードを書いていません。 [this](http://meta.softwareengineering.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems?newreg=1216e0ad88d74ebbab12ba8299cc7e3c)を読んでください。 –

+0

コードを投稿してください。 – Statham

答えて

1

私のそれほど経験豊富ではないから、いくつかのヒントがあるなど

合計、AVE、などの任意の作り付けの機能を使用することはできないのです視点:

変数をインクリメントすると、たとえば、次のようになります。 'total = total + num'を使用すると、よりコンパクトな方法で行うことができます。 'total + = num'を使用すると、まったく同じことが行われ、コードが明るくなります。一部の人はそれが醜いと思うので、もしそうなら、それを使用してください。

最初に 'avg'という名前の変数を宣言しましたが、後で '平均'を使用すると、最初の 'if'ステートメントがバイパスされたため定義されなかった 'average'を印刷しようとするとエラーになります。 平均には1つの名前を使用する必要があります。 'avg'または 'average'のどちらかが大丈夫ですが、コードが理解しやすいものでなければならないことを覚えておいてください。 1つの名前を使用し、それに固執する。そうすれば、ユーザーがあなたのコードで扱われていないものを入力したときにエラーが発生することはありません。

あなたはユーザーを確保するための安全ネットを追加することができ、番号を渡しますが、最も簡単な方法は、Pythonのビルトインを使用する必要があります。

数= 0 が、その後のいずれか、その後
「は数字が入力されていない」PRINT場合は
(ではないのpythonがそうのようにそれを書いていない)のようなものを追加することができます。
ブレークアプリケーション
を終了したい場合はまたはあなたが(新しいループを強制する)番号を入力するようにユーザーを強制したい場合は合格

は、それはあなたを少し助けを願って!