【发布时间】:2016-04-22 08:25:05
【问题描述】:
我想列出一个数字范围,我正在使用“for i in range(start,stop,step)”。
def range():
P=36
for i in range(P+1,0,-1):
P=P-4
print(P)
我想列出从 0 开始的数字,但它一直到 -112。
我发现如果我这样做:
def test():
P=36
for i in range(P+1,28, -1):
P=P-4
print(P)
它现在将停止在 0。 有人可以解释为什么它会这样做并且实际上并没有在 0 处停止吗?对不起,我是新手,我很困惑。我还希望列出的结果能够在以后被引用,比如将结果串在一起形成一条带多边形的线,但不能简单地写
list(P)
而不是print(P)
【问题讨论】:
-
您的第一个示例应该引发 TypeError,因为您使用自定义函数覆盖
range,因此它会递归调用自身,并且由于参数编号不同,这不起作用。在你的第二个例子中,缩进被破坏了。
标签: python python-3.x range