現在のリスト要素が前のリスト要素よりも大きい場合は、カウントに加算するコードを記述しようとしています次のリスト要素。例えば、リストの中で:[1、3、5、7、2] ... 1と2は評価されません。 SO 3は、比較されるべき第一であり、図3は、1 と 5以下である、5 3 と 7より大きくない、および7 が 5より大きく、2であるので= 1Python 3.x:現在の要素と前と次を比較しようとしています(組み込み関数なし)
を数えますこれは宿題のため、私は組み込み関数を使うことはできません。リストはランダムな長さであり、正の数と負の数を含む場合があります。
私は2つのバリエーションを試しました... このバージョンでは、i値は決して上がらない。どうしてこれなの?どうすればそれを次の番号に行くことができますか?
a = [int(i) for i in input().split()]
b = a[0]
count = 0
for i in a[1:]:
for j in a[2:]:
if i > j and i > b:
count +=1
b = i
print(count)
2番目のバージョンでは、インデックスエラー:リストインデックスが範囲外です。どのように私はそのようなエラーを修正することができますか?
a = [int(i) for i in input().split()]
prev = nxt = 0
b = a[1]
count = 0
for i in range(1, len(a)):
prev = a[i-1]
nxt = a[i+1]
if b > prev and b > nxt:
count +=1
prev = b
b = nxt
print(count)
ありがとうございました。私はどこが間違っているのか知りたい。あなたが最初と最後ずに確認することができます
、インデックスエラーが私が思う起こるとき 'I = LEN(a)の-1' 'nxt = a [i + 1]'をとり、これは 'a'インデックスの範囲外です。 – ZiGaelle