Python的`range`函数带有3个参数

12

我明白以下代码将会给出给定的结果:

for in range(5):
   print(i)

0 1 2 3 4

但我不明白如果添加三个单独的参数会导致结果混淆。为什么会返回这些特定的结果?(4 6和8)????

for i in range(4, 10, 2):
 print(i) 

468


2
最后一个参数是步长,所以显然使用步长为2会得到4、6、8。 - Padraic Cunningham
我投票将此问题标记为离题,因为文档:https://docs.python.org/2/tutorial/controlflow.html#the-range-function 是清晰明了的。 - EdChum
3个回答

26

从4开始,然后递增2,以8结束,因为10 < 10是错误的。所以是4 6 8


1
好的 - 我明白了。抱歉我没有彻底研究那个问题 - 再次感谢。 - user2537522

8
for i in range(4, 10, 2):
 print(i) 

在上述代码中,range有三个参数:

  1. 范围的起始值(包括在内)
  2. 范围的结束值(不包括在内)
  3. 增量值

For more clarity refer for the java representation of above python code:

for (int i=4; i<10; i+=2){
    System.out.println(i)
}

2

range(start_pos, end_pos, increment)


希望能提供一些解释来说明答案。 - Enlico
@EnricoMariaDeAngelis 好的,谢谢你的提醒。我以后会详细解释的。 - Mohamed Sayed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接