-1
def bubble_down(L, start, end):
""" (list, int, int) -> NoneType
Bubble down through L from indexes end through start, swapping items that are out of place.
>>> L = [4, 3, 2, 1, 0]
>>> bubble_down(L, 1, 3)
>>> L
[4, 1, 3, 2, 0]
"""
for i in range(start, end):
if L[i] < L[i]:
L[i - 1], L[i] = L[i], L [i - 1]
この関数は実行されません....私はdocstringの例Lが[4,1,2、0]ではなく[4,1,2 、3、0]Python 3が助けを必要とする
は(非自明なワンライナーのための対話モードを使用しない)ファイルにコードを記述します。あなたの 'if'条件が間違っています。インデックスの1つとして「i-1」が必要です。この方法では、決して保持することはありません(常に 'False')。ループ内で何も起こりません。 – pepr
downvotersへのコメントです。質問者のポイントと国家に気づいてください。だから、彼はおそらく初心者で、質問を表現するのが難しいかもしれません。 downvoteボタンは、「私はそれが好きではありません」または「わかりません」のためのボタンではありません。あなたがdownvote場合はあなたのコメントを書いてください。 – pepr
(あなたが '[i-1]'を修正したと仮定します)あなたはリストを一回しか越えていないので、必要な変更は全て最初のパスで必ずしも起こるわけではありません。バブルソートなので、すべて正しくソートされています。 –