为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

隔江千里 2022-06-28 11:01:07
for i in range(1,4,-1):     print(i)在这里,“i”将被初始化为“1”,它位于 [1, 4) 中,所以它应该打印 1 ,但它不打印任何东西。为什么 ?
查看完整描述

3 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

在这里,您的步长值为负

对于正步骤,范围 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),这会导致第二个约束失败。

因此,如果您通过公式,显然不会打印任何内容 -参考


查看完整回答
反对 回复 2022-06-28
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

为了使它工作,你应该有: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。


查看完整回答
反对 回复 2022-06-28
?
富国沪深

TA贡献1790条经验 获得超9个赞

根据文档的这一部分

对于负步长,范围的内容仍然由公式 r[i] = start + step*i 确定,但约束条件是 i >= 0 和 r[i] > stop。

您的第一个值将是1 + (-1) * 0= 1,它小于您的停止值 4。因此应用了第二个约束,并且不保留此值。你的范围是空的。


查看完整回答
反对 回复 2022-06-28
  • 3 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号