> I have a small problem with my function: printList. I use print with a > ',' . Somehow the last digit of the last number isn't printed. I wonder > why.
Posting actual code might help...the code you sent has a horrible mix of tabs and spaces. You've also got some craziness in your "creating random list" string. First off, it looks like you're using a docstring, but they only go immediately after the def line. I'd recommend putting it where it belongs, or changing the line to a comment. There are some unpythonic bits in here: printList() would usually just idiomatically be written as print ' '.join(a) although there are some int-to-string problems with that, so it would be written as something like print ' '.join([str(x) for x in listOfNumbers]) which is efficient, and avoids the possibility of off-by-one errors when range(0,length). Another idiom would be the list-building of createRandomList: return [random.randrange(100) for x in xrange(0,length)] Additionally, this can be reduced as range/xrange assume 0 as the default starting point return [random.randrange(100) for x in xrange(length)] (using xrange also avoids building an unneeded list, just to throw it away) Additionally, rather than rolling your own bubble-sort, you can just make use of a list's sort() method: a.sort() Other items include sensibly naming your parameters rather than generically calling them "param", just to reassign them to another name inside. Taking my suggestions into consideration, your original program condenses to ######################################## import random def createRandomList(length): return [random.randrange(100) for x in xrange(length)] def printList(listOfNumbers): print ' '.join([str(x) for x in listOfNumbers]) if __name__ == "__main__": length = 10 a = createRandomList(length) printList(a) a.sort() print "sorted list" printList(a) ######################################## one might even change createRandomList to allow a little more flexibility: def createRandomList(length, maximum=100): return [random.randrange(maximum) for x in xrange(length)] So it can be called as you already do, or you can specify the maximum as well with createRandomList(10, 42) for future use when 100 doesn't cut it for you in all cases. Just a few thoughts. -tkc -- http://mail.python.org/mailman/listinfo/python-list