編寫Python時遇到的蛋疼的錯誤

2021-09-21 10:53:14 字數 955 閱讀 3411

今天用python寫了個簡單的merge sort程式,結果就是出錯,找了好久沒找到問題,**如下:

a=[1,

3,9,

2,6,

5,4,

7,8,

10] 

defmerge(p,q,r): 

n1 = q - p + 1

n2 = r - q 

l =  

r =  

fori in(

0,n1): 

forj in(

0,n2): 

]) print

"merge:"

,l,r 

) ) 

k = p 

i = 0

; j = 0

while

k <= r: 

ifl[i] <= r[j]: 

a[k] = l[i] 

i = i + 1

else

: a[k] = r[j] 

j = j + 1

k = k + 1

defmerge_sort(p,r): 

ifp < r: 

q = (p + r)/2

merge_sort(p,q) 

merge_sort(q+1

,r) 

merge(p,q,r) 

merge_sort(0,9

) print

a  我在紙上算了很久,不該有錯啊,但是就是不對。不知道python怎麼除錯,還專門找了些python除錯的東西,例如乙個簡單的python除錯工具pdb, 還沒等怎麼除錯的,找到問題了。

原來是for i in (0,n1),我的本意是for(i=0; i < n1; i++),也就是要用for i in range(0,n1),沒有加range,後果就是i=0,i=n1,唉,找了很久才找到這個蛋疼的錯誤。

蛋疼的遞迴

幾個經典的遞迴場景 1.斐波那契 2.二叉樹的周遊 深度 前中後序 3.全排列問題 非簡單的全排列 允許字母重複 4.尋找滿足條件的n個數 第乙個的變種 跳台階 題目 乙個台階總共有n 級,如果一次可以跳1 級,也可以跳 2 級。求總共有多少總跳法,並分析演算法的時間複雜度。第二個要複習下非遞迴的寫...

令人蛋疼的ByteArray

最近做的乙個專案需要上傳比較多的到伺服器,伺服器限制大小是2m,在專案中,的大小都是有控制的,為100k 在互動中,返回給我 http status 413 上傳實體過大,超過伺服器大小。這讓我很糾結,我傳給伺服器的是二進位製流 bytearray 然後想當然的去計算,上傳的在10張以內,每張大小都...

dwr的蛋疼問題

最近在使用dwr,與之前相比 除了讓人非常蛋疼的問題,先描述如下 第乙個問題是伺服器向客戶端推送的時候,1 browser.withcurrentpage new runnable 13 使用該方法推送給當前的session使用,可是我之前測試總是在全部推送完畢後,才在頁面做接收,也就是看不到 一條...