Question

Here's a code for selection sort but it doesn't print the sorted list. How can I show it?

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)  
Was it helpful?

Solution 3

Use print.

If you are using Python 2.x print is a keyword:

result = select(badlist)
print result

In Python 3.x print is a function and you must use parentheses:

result = select(badlist)
print(result)

You also have at least two other errors:

  • Your function parameter is called badlist but you never use it.
  • The == operator is equality comparison. You need = for assignment.

Also your algorithm will be very slow, requiring O(n2) operations.

OTHER TIPS

if you type select(badlist) in Python shell is should show the result however if you're running your script as file you need to use print statement, as print select(badlist).

Expanding on my comment:

Why not simply use the builtin sorted(list) and then you can just have your whole code be:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top