当前位置: 代码迷 >> python >> 这个f来自python。 因子计算器
  详细解决方案

这个f来自python。 因子计算器

热度:41   发布时间:2023-07-14 09:50:06.0

我不知道我的教授是如何在函数中得到这个f的。 该程序有效。

因数

from isfactor import is_factor

def factors(n):
    factor_list = [1]
    for f in range(2, n):
        if is_factor(n ,f):
            factor_list.append(f)
    factor_list.append(n)
    return factor_list

第二个文件:isfactor.py

def is_factor(n, possible_factor):
    if n% possible_factor == 0:
        return True
    else:
        return False

第三个文件:testfactors.py

from factors import factors

print(factors(12))
print(factors(13))
print(factors(1000))

假设您有一个清单。 一个简单的清单

var mylist = [10, 11, 12]

凉。 现在,我想在该列表上打印每个数字。 现在,您可以使用括号[#]来访问python中的列表项,其中#是索引号(以0开头,因此第一个为0,第二个为1,依此类推)。 所以我可以这样做:

print mylist[0] #or print(mylist[0]) for python 3.x
print mylist[1]
print mylist[2]

但这将是 。 因此,我们可以进行迭代。 for循环一个接一个地看起来像这样

for item in mylist
    print item

这意味着现在遍历列表中的每个项目,说item = mylist[0] ,然后您就可以执行某些操作。 然后它再次循环,现在item = mylist[1]等。这是一个临时变量,它使事情变得简单得多,对吧?

现在range是python中的内置函数,它创建一个从x到y的数字列表,即range(1,10)将导致列表[1, 2, 3, 4, 5, 6, 7, 8, 9] *

因此,当您看到for f in range(2, n)您会知道现在开始一个循环,每次循环通过时,f等于2,然后等于3,然后等于4 ...直到n等于a可变的功能factors接收。

现在更有意义吗?

* ps这不完全是一个列表。 在Python 3.x中,它变成了它自己的类型,我没有涉及它,但是您可以

考虑以下循环:

输入:

for f in range(2, 10):
    print(f)

输出:

2
3
4
5
6
7
8
9

当您for f in range(2, n-1):调用for f in range(2, n-1): ,实际上是在创建变量f并将其设置为2,运行循环,然后将f设置为3,运行循环,依此类推,直到获得n (然后迭代停止)。