2016-12-28 7 views
-1

数字を1つずつ追加してリストを作成したいと思います。数字が追加されると、リストは昇順でソートされます。このため、以下のようなコードを書いていますが、これらのコードを実行すると、リスト内の数字の順番が追加されます。これらのコードの何が間違っていますか?値を追加してPythonクラスでソートする

class SortList: 
    theList = [] 
    theempty = [] 

    def sorttheList(self,number): 
     self.theempty.append(number) 
     for i in range(len(self.theempty)): 
      mini = min(self.theempty) 
      self.theList.append(mini) 
      self.theempty.remove(mini) 
    return self.theList 

    def printList(self): 
     return print(self.theList) 

lst = SortList() 
lst.sorttheList(2) 
lst.sorttheList(4) 
lst.sorttheList(9) 
lst.sorttheList(15) 
lst.sorttheList(0) 

lst.printList() 
+0

「範囲内のi(len(self.theempty))」の中で「i」の必要性は何ですか? –

+0

私はforループが不要であることに気付きました。私はforループを使ってリストの最小値を得ることができたと思った。ところで、私はプログラミングの初心者です。 :) – mryus

答えて

1

theemptyしかsorttheListに渡された最後の値を持っているので、それは常にtheListの最後に追加されます。

Pythonの組み込みソート方法を使うほうが良いかもしれません。

+0

Pythonの組み込みメソッドを使わずにソートして関数を追加する必要があります。 – mryus

+0

宿題。知っておいてよかった。 –

関連する問題