2017-10-12 6 views
0

値が前の入力を何回超えたかを特定しようとしています。次のコードは1,7,9,0(2回の7回、1回の超過、9回の7回の超過)で動作しますが、1,5,2,4,3,0では失敗します。私は5に最大値を設定し、もちろん2と4のためであると私はあなたの忍耐のために戻ってグレイトフル・1whileループ内で最大値をリセットする

a = int(input()) 
counter = 0 
highest = 1 
while a != 0: 
    if a > highest: 
     highest = a 
     counter += 1 
    a=int(input()) 

# need to reset highest to next input of 'a' 
print(counter) 

に最大値を「リセット」するために何をすべきかを把握することはできません未満5され得ます。まだ私は脳死しているかどうかまだ見ている古い人。申し訳ありませんが、これはばかな質問ですが、私はそれを見ていない。私はそれを私の方法を解決した後も、私は私がいる間、他に、何かを使用しますが、もしできませんインナーを、次の午前のコースでは、何のリストか何か

+0

予想される出力は?何が「失敗する」?私には聞こえます。 –

+0

最初の例では、コードが2を返します.7が1より大きく、9が7よりも高いためです.2番目の例は1を返します。最大値が5になるため、4が2より大きい値は数えられません。私は最大値が最初のインスタンスを数えた後にリセットされる方法を探しています。その結果、4は2よりも高いと認識され、返されるカウントは1ではなく2です。 – user1478335

+0

elif句を挿入することで解決できます:elif a < highest:highest = aは、新しい値に低い値をリセットします。私はこれを行うより良い(よりきれいな)方法があると確信しています – user1478335

答えて

0
first_num = int(input()) 
incremental_count = 0 
while first_numv != 0: 
    second_num = int(input()) 
    if second_num != 0 and first_num < second_num: 
     incremental_count += 1 
    first_num = second_num 
print(incremental_count) 

、これは賢いと簡単です与えられた答えませんでした!

関連する問題