Python中range(2,1)方法无法正常运行的原因是什么?
问题解答
代码输出结果
你提供的代码运行后没有任何输出,range(2,1)本身没有运行故障,是对range函数的参数规则理解有误导致不符合预期。
range函数参数规则说明
Python内置range函数的完整语法为 range(start, stop[, step]),相关规则如下:
- 所有传入参数必须为整数
- 不指定步长
step时,默认步长为1 - 不指定起始值
start时,默认起始值为0 - 步长为正的场景下,生成的序列元素满足
start ≤ 元素值 < stop,如果初始start已经大于等于stop,会直接返回空序列 - 步长为负的场景下,生成的序列元素满足
start ≥ 元素值 > stop,如果初始start已经小于等于stop,会直接返回空序列
问题原因
你使用的range(2,1)默认步长为1(正数),起始值2大于终止值1,因此返回空序列,for循环遍历空序列时不会进入执行逻辑,print(i)没有执行机会,自然没有打印内容。
如果需要生成从2递减到1的序列,可手动指定负步长,修改代码为:
for i in range(2, 0, -1): print(i)
运行后输出为:
2 1
内容的提问来源于stack exchange,提问作者Aditya R.
相关产品推荐
相关产品推荐

