2016-02-25 87 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