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

如果您输入select(badlist)Python shell 应该会显示结果,但是如果您将脚本作为文件运行,则需要使用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.xprint中是一个函数,您必须使用括号:

result = select(badlist)
print(result)

您还有至少两个其他错误:

  • 您的函数参数被调用badlist,但您从不使用它。
  • ==运算符是相等比较。你需要=分配。

此外,您的算法将非常慢,需要 O(n 2 ) 操作。

于 2013-02-04T11:34:05.800 回答