###現状の理解度と疑問
エラーの詳細は理解できています(for文内で存在しない要素番号を取得しようとしている)が、なぜその様になるかわかりません。
#取り組んでいること
「リスト内で右隣の要素より大きい要素はいくつあるか」を算出するコードを作成しています。
##詳細
[A,B,C,D]というリストを用意する
このとき
条件1:A > Bであれば、1カウントをする。
条件2:B = Cの場合はカウントされない
とすると
[A,B,C,D]=[21,31,31,32]
のとき
出力は2になる
このようなロジックのコードを作成したいです。
##code
Python
1m =0 2d = int(input()) 3N = [list(map(int, list(input().split()))) for w in range(d)] 4 5N.sort(reverse =True) 6mochis =len(N) 7 8for i , n in enumerate(N): 9 s = i +1 10 print(s) 11 if s > mochis: 12 break 13 14 elif n > N[s]: 15 m = m + 1 16 print(m)
###出力結果
Python
1IndexError: list index out of range 2
###疑問
1つ目のif文で、
「存在する要素番号」よりfor文で「取得する要素番号」が大きくなった場合は処理をbreakするようにしている。
Python
1 if s > mochis: 2 break
しかし、” elif n > N[s]:”でエラー分が発生されます。
この理由をお手数ですがご教示いただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。