【问题标题】:In for loop in python, Why the start point doesn't print when the increment is negative? [closed]在python的for循环中,为什​​么增量为负时不打印起点? [关闭]
【发布时间】:2020-06-30 16:36:04
【问题描述】:

在python中, for x in range(1,3,1): print(x) 答案是: 1 2.

但是当我们输入时, for x in range(1,3,-1): print(x) 答案是: <Nothing> 为什么 1 没有打印在第二个代码中? 虽然增量是假的。但是必须打印起始整数?不是吗??

【问题讨论】:

  • 增量为正时,为什么不打印终点?一样;只是方向不同。
  • 另外,请参阅What is the rational for closing "why" questions on language design? -- 有关如何解决特定问题的问题是这里的主题。一旦您知道如何修复您的代码(您显然会这样做),您就不再遇到特定问题,而是出于好奇而提出问题;这些问题通常会引发辩论或人们提出自己的观点(不一定基于事实或证据),否则会产生“热多于光”。

标签: python python-3.x for-loop


【解决方案1】:

仅当起始点在您使用range 定义的范围内时才会打印。这里,range(1, 3, -1) 对应的是空集,因为每次加 -1 不能从 1 达到 3。

您可以在python.org 上阅读更多相关信息,其中 r[0] 对应于起点:

如果 r[0] 不满足值约束,则范围对象将为空。范围确实支持负索引,但这些被解释为从由正索引确定的序列末尾开始索引。

【讨论】:

    猜你喜欢
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    相关资源
    最近更新 更多