整数のリストをソートするソート関数を作成しました。私は出力として取得する必要Pythonのカスタムソート関数の結果が正しくない
def sort(list):
s = []
dropnum = 0
l = len(list) - 1
counter = 0
s.append(list[0])
while 1:
maximum = len(s)
if counter == l:
break
if list[counter] < s[dropnum]:
dropnum = dropnum + 1
else:
counter = counter + 1
if dropnum >= maximum:
a.append(list[counter])
else:
s.insert(dropnum, list[counter])
dropnum = 0
return s
print sort([70,9,24,82,102])
:ここ はコードがある
[102,82,70,24,9]
しかし、私は得る:
[102, 82, 24, 9, 70]
'reverse(sorted(list))'を使うのはなぜですか?また、リストと呼ばれる組み込み関数があるので、変数リストの名前を付けてはいけません。これが宿題の場合は宿題としてタグ付けしてください。 – forivall
'sorted()'をなぜ再実装していますか?この宿題ですか? – Amber
さて、 'if dropnum> = maximum:'の後に 's.append'の代わりに' a.append() 'があります。また、 'list'を変数名として使うのは、Pythonの組み込みオブジェクトであるため、一般的には悪い考えです。 – Marius