对python _for_ function如何工作感到困惑

时间:2013-04-01 22:15:33

标签: python

我有一个关于的python函数如何工作的问题。我有一个我正在编写的程序,涉及生成多个数字的素数分解。

for a in range(2,25):
    print primefactorize(a)

当我在上面的范围内测试时,在终端弹出的最后一个列表是24的主要因子分解输出,而不是25.功能是否

for a in range(1,x):

只运行每个值到x-1?

由于

1 个答案:

答案 0 :(得分:5)

我认为你的混淆是range

range(2,25)
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]

来自文档:

  

这是一个用于创建包含算术的列表的通用函数   级数。它最常用于for循环。争论必须   是简单的整数。如果省略step参数,则默认为1。   如果省略start参数,则默认为0.完整表单   返回普通整数列表[start,start + step,start + 2 *   步, ...]。如果step为正,则最后一个元素是最大的开始   + i *步骤少于停止;如果step为负数,则最后一个元素是最小的start + i * step大于stop。步骤不能为零   (或者引发ValueError)。例如:

在数学中,这称为start inclusive, stop exclusive interval,如下所示:

[start, stop)