On 23May2019 15:16, David Lifschitz <davidthebiglipperlifsch...@gmail.com>
wrote:
I am currently working on a project for myself.
The code posted here is supposed to ask the user for an amount of numbers,
what those numbers are, and places those numbers in a list.
The next job of the code is to sort the list of numbers that were inputted
in an ascending fashion.
There is no error from the code,
Regardless, it clearly isn't doing what you want. In this situation it
is helpful (to us, and therefore to you later) to post the output from a
run and an example of the output you wanted, and and description of what
is deficient in the programme output. You've got the last 2 of these 3.
however, when I run the code the first
inputted number stays in its place and doesn't get sorted with the rest of
the numbers.
Comments below the code.
emptyList = []
nOFN = int(input("how many numbers do you want to sort: "))
for x in range(nOFN):
number1 = int(input("input number: "))
emptyList.append(number1)
firstElement = emptyList[0]
n = len(emptyList)
for j in range(1, n):
if emptyList[j-1] > emptyList[j]:
(emptyList[j-1], emptyList[j]) = (emptyList[j], emptyList[j-1])
print(emptyList)
Well, you only make one pass over the list. So if emptyList[0] <=
emptyList[1] _on the first (and only) pass_, it will not move.
Try comparing:
2 5 3
and:
3 2 5
and see if the behaviour differs.
BTW, what you['re implementing looks like a bubble sort to me (look it
up). But a since pass over the list isn't enough to sort the whole
thing.
Cheers,
Cameron Simpson <c...@cskk.id.au>
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor