我對編程相當陌生;我只學了幾周Python。最近我得到了一個練習,要求我生成一個整數列表,然後在單獨的列表中手動將數字從最低到最高排序。手動排序python中的10個整數列表
import random
unordered = list(range(10))
ordered = []
lowest = 0
i = 0
random.shuffle(unordered)
lowest = unordered[0]
while i in unordered:
if unordered[i] < lowest:
lowest = unordered[i]
i += 1
if i >= len(unordered):
i = 0
ordered.append(lowest)
unordered.remove(lowest)
lowest = unordered[i]
print(ordered)
這就是我迄今爲止所做的,坦率地說,它根本不起作用。我一直在考慮的僞代碼是這樣的:
- 創建一個空單持有有序元素
- 雖然仍處於無序列表
- 設置一個變量元素,最低至在無序列表
- 第一元件對於在無序列表
- 每個元素如果元素是低於最低
- 指定該元素的值設置爲最低
- 追加最低到有序列表
- 取下無序列表最低
- 打印出來的有序列表
迄今爲止我遇到的最大問題是我的櫃檯不能可靠地給我一種方法來從我的列表中選出無序的最小號碼。然後,我在索引列表時遇到問題,即索引超出範圍。任何人都可以給我一些關於我要出錯的信息嗎?
而且,我得到了這個信息,我真的不知道有關:
您可以使用建立的方法對列表進行排序叫做選擇排序。
我不應該在這次使用Python的內置排序方法。這一切都應該手動完成。謝謝你的幫助!
感謝JL,這工作就像一個魅力! – Kordan9090