所以我應該帶上一個數字n,在列表中加n個數字,然後對列表進行排序並打印。這個排序代碼有什麼問題? Python
numCol=int(input());
vals=[];
for x in range(numCol):
vals.append(int(input()))
for x in range(len(vals)):
curr=vals[x];
for y in range(x+1,len(vals)):
if(curr>vals[y]):
temp=vals[y];
vals[y]=curr;
vals[x]=temp;
print(vals);
該代碼無法正常工作。我們還沒有徹底地學過排序算法,所以我只是自己做了,但它類似於我認爲的選擇排序。無論如何,爲什麼它不按升序打印值?
編輯:我輸入4,然後使列表4,3,2,1輸出是[1,4,4,4]
提供樣品的輸入,實際輸出與預期輸出 – piyushj
這只是做一次通過列表...你需要繼續下去,直到你做不交換...你也可以用vals [x],vals [y] = vals [y],vals [x]'交換python –
你需要實現一個排序算法嗎?因爲實際的答案是使用內置的Python排序方法 – deceze