step 高于 stop 的范围函数

Range function with step higher than stop

谁能解释一下为什么这里的输出是 22:

def fun():
    for x in range(22,23,24):
        print(x)
fun()

您正在迭代一个 range,它以 22 开始,在 23 之前结束 ,并进行 24 的步骤].


为了更好地了解您在做什么,请尝试以下操作:

>>> list(range(22,23,24))
[22]

您从 22 开始,然后执行 24 的步骤,并且您明显超出了 23 的限制,因为您在 46 并且 22+24.


我建议阅读有关 range 构造函数的文档。

range(start, stop[, step]) # This is the prototype of the constructor

范围的语法是range(start, stop, step)

要打印的数字范围从22开始,到23(不包括结束点),步长为24

第一个数字是 22,它被打印出来。

下一个数字将是 22 + 24 = 46,它大于 23,因此它不会被打印并且循环终止。