【问题标题】:In python, executing the runtime input in for loop it prints all values. why?在 python 中,在 for 循环中执行运行时输入,它会打印所有值。为什么?
【发布时间】:2020-07-06 14:54:53
【问题描述】:

我是 python 新手。我已经使用运行时输入执行了 for 循环。

循环 1:

a = int(input("enter\n"))
for i in range(1, a+1):
      print(i)

输出打印从 1 到 5 的所有值。

循环2:

for i in range(1, 5):
         print(i)

输出打印从 1 到 4 的值。

请有人解释一下上述两个 for 循环之间的区别。

【问题讨论】:

  • 代码格式

标签: python loops for-loop input runtime


【解决方案1】:

在python的range函数中,最后一个参数是排他的。这意味着它代表范围的停止点,但不包含在输出中。由于第一个循环的最后一个参数是 a+1,因此 a 将包含在输出中。

【讨论】:

  • 非常感谢您的解释
【解决方案2】:

你看过https://docs.python.org/fr/3/library/stdtypes.html#range吗?

为简单起见,range(a, b) 将返回一个从 a 到 b - 1 的迭代器。

因此,您的 first 循环将打印 1 到 (a + 1) - 1 = a,而您的 second 循环会将 1 打印到 5 - 1 = 4。

【讨论】:

  • 非常感谢您的解释
【解决方案3】:
for i in range(0,5):
    print(i)

打印从 0 到 4 的值,因为当迭代达到值 5 时,它会被排除在外并且不会打印该值。

所以我们将最终值(最大值)加 1 以打印到我们想要的值。

for i in range(0,6):
     print(i)

给予:

0
1
2
3
4
5

【讨论】:

  • 非常感谢您的解释
猜你喜欢
  • 2021-06-21
  • 2018-01-17
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
相关资源
最近更新 更多