范围如何与python中的for循环一起使用

for i in range(1,4,-1):
    print(i)

在这里,“i”将被初始化为“1”,它位于 [1, 4) 中,所以它应该打印 1 ,但它不打印任何东西。为什么 ?


隔江千里
浏览 184回答 3
3回答

繁星coding

在这里,您的步长值为负对于正步骤,范围 r 的内容由公式 r[i] = start + step*i 确定,其中 i >= 0 且 r[i] < stop。对于负步长,范围的内容仍然由公式 r[i] = start + step*i 确定,但约束条件是 i >= 0 和 r[i] > stop。第一个值将是1 + (-1) * 0= 1,它小于您的步长值 (4),这会导致第二个约束失败。因此,如果您通过公式,显然不会打印任何内容 -参考

慕妹3146593

为了使它工作,你应该有:range(4, 1, -1)。如文档所述:对于正步骤,范围 r 的内容由公式 r[i] = start + step*i 确定,其中 i >= 0 且 r[i] < stop。对于负步长,范围的内容仍然由公式 r[i] = start + step*i 确定,但约束条件是 i >= 0 和 r[i] > stop。

富国沪深

根据文档的这一部分:对于负步长,范围的内容仍然由公式 r[i] = start + step*i 确定,但约束条件是 i >= 0 和 r[i] > stop。您的第一个值将是1 + (-1) * 0= 1,它小于您的停止值 4。因此应用了第二个约束,并且不保留此值。你的范围是空的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python