我有一个关于 python 函数如何工作的问题。我正在编写一个程序,其中涉及生成多个数字的素数分解。
for a in range(2,25):
print primefactorize(a)
当我在上面的范围内测试它时,终端中弹出的最后一个列表是 24 的素数分解输出,而不是 25。函数
for a in range(1,x):
只遍历每个值直到 x-1?
谢谢
我有一个关于 python 函数如何工作的问题。我正在编写一个程序,其中涉及生成多个数字的素数分解。
for a in range(2,25):
print primefactorize(a)
当我在上面的范围内测试它时,终端中弹出的最后一个列表是 24 的素数分解输出,而不是 25。函数
for a in range(1,x):
只遍历每个值直到 x-1?
谢谢
我认为你的困惑在于范围
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, ...] . 如果step为正,则最后一个元素是最大的start + i * step小于stop;如果 step 为负数,则最后一个元素是最小的 start + i * step 大于 stop。step 不能为零(否则会引发 ValueError)。例子:
在数学中,这称为start
包含性、stop
排他性区间,如下所示:
[start, stop)