循环中有range和没range

img


循环中有range的是左边那个,它所得出的值是615;而没有range的是右边那个,所得的结果是5560。
没有range,直接for i in (1,N+1)的意思也不就是依次取的的意思吗,为什么结果不一样

range(1,6)获得列表[1,2,3,4,5],而(1,6)是元组(1,6)
[1,2,3,4,5]依次取1 2 3 4 5
(1,6)依次取1 6

range的意思是范围
没有range就是指定数据内逐个读取

这是python语法和别的语言不一样的地方,python里的for表示的不是循环,而是遍历后面接着的可迭代对象(列表、元组、字典、字符串等等等等),每次把可迭代对象的元素依次拿出来赋值给局部变量 i 。
有range的时候for in循环遍历的是range里从1到N+1的数字,如果没有range,括号表示一个元组,元组里就两个元素,一个是1,一个是N+1,for in循环遍历的也就只有这两个元素了。