2016-02-25 44 views
-4

我正在使用這個小代碼來生成加權模103的校驗和。 的問題是,當我運行下面的代碼:Python範圍()給出錯誤列表

def checksum_bar(array): 
    s = array[0] 
    s += array[1] 
    for x in range(2, len(array)): 
     print x 
     s += array[x] * x 
    m = s % 103 

進入長度10的陣列,當我得到x的以下結果:

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

但是,當我運行下面的代碼(第三行註釋):

def checksum_bar(array): 
    s = array[0] 
    #s += array[1] 
    for x in range(2, len(array)): 
     print x 
     s += array[x] * x 
    m = s % 103 

它給我我想要的結果,儘管我並沒有改變迭代:

2 
3 
4 
5 
6 
7 
8 
9 
10 

我在這裏錯過了什麼嗎?我想知道是否有人可以重現相同的結果,並且一些解釋也會很好。

+5

開始這是不可再生與你所示的代碼。這兩個實例都應該打印數字2到9.如果沒有[MCVE](http://stackoverflow.com/help/mcve),問題是無法解析的。 – interjay

+0

我沒有得到和你一樣的結果。你在用Python 3嗎? – SirParselot

+0

我正在使用python 2.我試圖在一個新文件中創建一個最小代碼,但它似乎工作。我會繼續嘗試,因爲錯誤仍然存​​在於舊版本中。 –

回答

0

兩套提供可以得到同樣的結果代碼,因爲範圍的功能是確保從2

相關問題