Python范围无法按预期使用变量as step

Python范围无法按预期使用变量as step,python,list,range,Python,List,Range,我在运行一个软件时遇到了一些问题。我需要做的是输入一组数字,从一个间隔开始判断它们是增加还是减少,这意味着如果列表是[13,15,17,15,18],第一组是[13,15],然后是[15,17],最后是[15,18]。第一个间隔部分工作得很好,但是当我将a增加到2以尝试增加范围函数的步长时,它输出的组与a为1时相同。当a=2时,正确的输出应该是[13,17],[17,18],[15,15]。如果我复制粘贴它并用两个变量替换变量a,程序确实会运行,但它给出了错误的增减次数。我肯定我忽略了一些简单的

我在运行一个软件时遇到了一些问题。我需要做的是输入一组数字,从一个间隔开始判断它们是增加还是减少,这意味着如果列表是
[13,15,17,15,18]
,第一组是
[13,15]
,然后是
[15,17]
,最后是
[15,18]
。第一个间隔部分工作得很好,但是当我将
a
增加到
2
以尝试增加范围函数的步长时,它输出的组与
a
1
时相同。当
a=2
时,正确的输出应该是
[13,17]
[17,18]
[15,15]
。如果我复制粘贴它并用两个变量替换变量a,程序确实会运行,但它给出了错误的增减次数。我肯定我忽略了一些简单的事情,但我已经盯着这个问题太久了,以至于它变得异常。我没有包括所有代码,但prod_list只是一个大于零的整数列表。
a=1
对于范围内的i(0,len(产品列表),a):
而(i-1<0):
i+=1
而(i>len(产品列表)):
i-=1
如果(上一个!=(生产清单[i-1],生产清单[i]):
如果((生产清单[i-1]-生产清单[i])>0:
decr+=1
elif((生产清单[i-1]-生产清单[i])<0):
增量+=1
elif((生产清单[i-1]==生产清单[i])<0):
相同+=1
打印(产品列表[i-1],产品列表[i])
prev=(产品列表[i-1],产品列表[i])

a+=1
Python的
for
是迭代器中每个
的一个值。它不像C的
inti=0;我可能是你的复制品,你正在以一种相当非蟒蛇式的方式做这件事
range()
是一个函数,在循环顶部对其求值一次。试着在你的循环中查看如下内容:
print([(a,b)for(a,b)in-zip(prod_列表,l[i:]))]