3 回答

TA貢獻1811條經驗 獲得超5個贊
我的猜測是文件名都在那里,只是沒有按照您期望的順序。
文件名是字符串。它們根據字符串排序邏輯進行排序:想象將每個 0 替換為a ,將a
每個 1 替換為 a b
,將每個 2 替換為 ac
等等,現在考慮如何按字母順序對字符串進行排序。普通的字符串排序不知道我們喜歡用最不重要的數字last來寫數字。在普通的字符串排序中,它確實是1
, then 10
, then 11
——這類似于對字符串b
, then ba
, then進行排序bb
,這是正確的字典排序。它會持續很長時間才能到達任何以開頭3
的單詞(類似地,字典中以開頭的單詞d
比以b
)。
您可以研究執行“自然排序”的算法/包?;蛘撸扇〉淖罴炎龇ㄊ呛唵蔚匦迯臀募s定:確保文件名中嵌入的數字都具有相同的位數,必要時使用前導零(001
、002
等)。

TA貢獻1846條經驗 獲得超7個贊
這似乎值得懷疑。
self.find_min_fitness(i)
好吧,我建議你嘗試這樣的事情。
下面的目錄包含編號的文件列表。
files = os.listdir("C:/Users/Danish/Documents/JavaScriptPrimerRepo/MyJSCodes")
for i in files:
print(i)
這是下面的示例輸出。
00_BlankPage.html
01_DataType.html
02_LinkingExternalJsfile.html
02_Script.js
03_VariableMutation_cohersion.html
04_Operators.html
05_SampleCodeCalculatingBMI.html
注意:我在迭代之前將結果存儲在單獨的變量中,重要的是 fileName 首先以數字開頭。

TA貢獻1818條經驗 獲得超3個贊
我很確定問題出在函數self.find_min_fitness(i)
上。在列出前幾個文件后,其中的某些部分必須導致程序中斷。
文件按名稱排序os.listdir()
。它優先1
于2
列出文件時,這就是為什么所有以開頭的文件名1
都首先列出的原因。
作為解決方案:也許嘗試注釋掉self.find_min_fitness(i)
調用的這一行,看看問題是否仍然存在
添加回答
舉報