0

選択ソートのコードは次のとおりですが、ソートされたリストは出力されません。どうすればそれを示すことができますか?

badlist = input("Enter list: ")  
def select(badlist):  
        l = list[:]  
        sorted = []  
        while len(l):  
            lowest == l[0]  
            for x in l:  
                if x < lowest:  
                    lowest = x  
            sorted.append(lowest)  
            l.remove(lowest)  
        return sorted  
select(badlist)  
4

3 に答える 3

2

Python シェルで入力select(badlist)すると結果が表示されるはずですが、スクリプトをファイルとして実行している場合は、printステートメント asを使用する必要がありますprint select(badlist)

于 2013-02-04T11:39:44.303 に答える
1

私のコメントを拡張します:

単にビルトインを使用しないのはなぜですか。そうsorted(list)すれば、コード全体を次のようにすることができます。

print sorted(input("Enter list: "))

于 2013-02-04T11:37:56.163 に答える
0

を使用しprintます。

Python 2.x を使用している場合print、キーワードは次のとおりです。

result = select(badlist)
print result

Python 3.x ではprint関数であり、括弧を使用する必要があります。

result = select(badlist)
print(result)

他にも少なくとも 2 つのエラーがあります。

  • 関数パラメーターが呼び出されますがbadlist、使用することはありません。
  • 演算子は==等価比較です。課題に必要=です。

また、アルゴリズムは非常に遅くなり、O(n 2 ) 操作が必要になります。

于 2013-02-04T11:34:05.800 に答える