2012-02-13 12 views
-3

最後に入力する前に数値の平均値を出力します。ここでaveを見つけるためのPythonプログラム

これまでのところ、私が持っているものである

def main(): 
sum = 0.0 
coum = 0 
num = input("Enter a Number") 
while num <= 100: 
    sum = sum + num 
    coum = count 
    num = input("Enter a Number") 
    ave = sum/count 
print ave 
+4

実際の質問は何ですか? –

+3

あなたは実際には...カウントしてください。 –

+0

これは宿題のにおいがします。 –

答えて

1

これをテストするには、コードを歩き回り、要件が満たされているかどうかを確認する必要があります。最初は簡単なケースから始め、より複雑なケースまで作業を進めてください。

開始時に最初の数値が100より大きい場合を考えます。どの行が実行されますか?

aveの計算はループ外で行う必要があります。しかし、それでもなお、coumはゼロになるのでゼロ問題による除算についてはまだ心配する必要があります。私はあなたに考えさせるためにそれを残します。このチュートリアルの残りの部分では、計算がループ外に移動したとします。

次の例では、番号が100,200の順番で入力されているとします。今回はどの行が実行されるのですか?

sum = 0.0 
coum = 0 
num = input("Enter a Number") # num = 100 
while num <= 100:    # true, let's keep going 
sum = sum + num    # ok, 0.0 + 100 = 100.0 
    # You probably would have seen a failure there, 
    # depending on what version of Python you're using. 
    # I will assume you're using Python 2.x. 
coum = count     # oops, what is `count` 

ここにはcount変数がありません。したがって、未知の変数を別の変数に代入することはできません。数字の平均を計算しようとしているので、私たちが必要とする重要な数字は、平均している数字の数です。 coum変数は実際にはcountであるはずです。この時点で、count1でインクリメントしたいとします。どのようにそれを行うかを解説します。続けましょう。

num = input("Enter a Number") # num = 200 
while num <= 100:    # false, break out 
ave = sum/count    # ave = 100.0/1 = 100.0 
print ave 

番号についても同じことしてみてください。20050100を。どの行が実行されますか?あなたの要求を満たしているかどうかを確認してください。そうであれば、次のケースを試してみてください。そうでない場合は、何が間違っているのかを見つけて修正してください。あなたが困ったら、と聞いてください。私はあなたがここで質問をしたときにあなたがより良い仕事をすることを願っています。

1

、パイソンへのStackOverflowを歓迎して、宿題。私があなたのコードで見ることができる唯一の問題は、あなたが "coum"を定義し、それを再び使用しなかったことです。あなたがする必要がどのような

は次のとおりです。

  • 前に入力されているどのように多くの数をカウント増分を作成します。
  • 1つのクーマーまたはカウントを定義し、それを一貫して使用します。

これらは基本的にこれまでのものです。それらがより詳細に定義されていることを確認してください。

関連する問題