【Python】記錄一次逼瘋人的編程經歷

“那些令人真正發瘋作狂的事起源往往十分簡單。”

那是一個溫度正好的天氣,即使坐在安靜的屋裏,也很舒適。
V 還在編寫一個Python算法,涉及到矩陣的運算,好在編寫的過程中沒遇到太大的問題。
接着一行錯誤警示映入了V 的大腦:

IndexError: index 8429 is out of bounds for axis 1 with size 8429
“問題不大”,這是V 最開始的想法,“類似於Java的數組越界。”

經過簡單的修改,卻還是出現同樣的錯誤。
這時V 仔細檢查了一遍,前面定義了兩個格式都爲8*8429的矩陣,而且後面爲矩陣賦值的動作也相同,並且另一矩陣的賦值操作在前卻沒有報錯!?

經過再次的慎重檢查、修改,另一報錯映入了腦海:
IndexError: index 8428 is out of bounds for axis 1 with size 8429
簡單一想,這句話的意思就相當於8428>=8429
???

“這是你逼我的”。V想,經過註釋#,果然沒有了報錯。於是繼續寫了其他的部分。

“此事已上升到了玄學問題,需要第二天經過重啓編輯器軟件,甚至重啓電腦才能解決這個問題。”

然而,事情卻沒那麼簡單。同樣的錯誤在重啓後再次出現。

I QUIT !


事情的轉機之初甚至比你後來所想的還要早很多。

V 發現在定義第二個矩陣時,誤將8*8429定義爲了8*8249.
而第一個映入腦海的錯誤爲:
IndexError: index 8249 is out of bounds for axis 1 with size 8249
這也就更好理解第二個報錯:
IndexError: index 8428 is out of bounds for axis 1 with size 8249


簡而言之:
就是我設置錯了矩陣的格式,並且看錯了錯誤警示。
處理數據時應當注意此類數字錯誤,尤其是矩陣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章