首页 > 解决方案 > 这个 f 在 python 中来自哪里。因子计算器

问题描述

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

因素.py

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))

标签: python

解决方案


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

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,这是函数接收的变量factors

现在更有意义了?

*ps 这不完全是一个列表。在 Python 3.x 中,它变成了它自己的类型,我没有进入它,但你可以在这里阅读更多


推荐阅读