为什么以下范围不能用python打印出来?
我有以下python代码:为什么以下范围不能用python打印出来?,python,range,Python,Range,我有以下python代码: def main(): for i in range(-10, -100): print(i, end=' ') if __name__ == '__main__': main() 但它不打印任何内容,但如果我将主函数更改为: def main(): for i in range(-100, -10): print(i, end=' ') 它打印出预期的结果,第一个不起作用的原因是什么 另外,我在pytho
def main():
for i in range(-10, -100):
print(i, end=' ')
if __name__ == '__main__':
main()
但它不打印任何内容,但如果我将主函数更改为:
def main():
for i in range(-100, -10):
print(i, end=' ')
它打印出预期的结果,第一个不起作用的原因是什么
另外,我在python教程中发现了以下示例代码:
range(-10, -100, -30)
-10, -40, -70
那么为什么这样做,仅仅因为它添加了一个步骤(-30)?函数的默认
步骤值是1
。因此,要使范围有效,第一个参数(start
)必须小于第二个参数(end
)
如果第一个参数(start
)大于第二个参数(end
),则通过将1
的步骤添加到start
中,永远无法达到end
值。在这种情况下,您可以给阶跃值-1
,使其朝相反方向移动:
for i in range(-10, -100, -1):
现在i
将取值-10
,-11
,-12
,依此类推,直到-99
函数的默认步骤
值为1
。因此,要使范围有效,第一个参数(start
)必须小于第二个参数(end
)
如果第一个参数(start
)大于第二个参数(end
),则通过将1
的步骤添加到start
中,永远无法达到end
值。在这种情况下,您可以给阶跃值-1
,使其朝相反方向移动:
for i in range(-10, -100, -1):
现在,i
将取值-10
,-11
,-12
,依此类推,直到-99
对函数范围([start,]stop[,range])
进行一个小的模拟,得到正范围(默认值为1)
def范围(启动、停止、范围):
lst=[]
启动<停止时:
lst+=[开始]
开始+=范围
返回lst
因此,如果范围(-10,-100)
将失败启动
,因此将不打印任何内容
但是,如果使用了范围(-10,-100,-1)
,则范围为负值,因此将开始<停止
替换为开始>停止
,模拟将有所不同。它可以工作,但是将打印从-10到-99的数字。第二个函数的相反方向是一个小的模拟,模拟函数范围([start,]stop[,range])
的正范围(默认值为1)
def范围(启动、停止、范围):
lst=[]
启动<停止时:
lst+=[开始]
开始+=范围
返回lst
因此,如果范围(-10,-100)
将失败启动
,因此将不打印任何内容
但是,如果使用了范围(-10,-100,-1)
,则范围为负值,因此将开始<停止
替换为开始>停止
,模拟将有所不同。它将工作,但是将打印从-10到-99的数字,与第二个函数相反