Function 如果一个数是另一个数的因子,函数如何返回?

Function 如果一个数是另一个数的因子,函数如何返回?,function,math,numbers,boolean,factoring,Function,Math,Numbers,Boolean,Factoring,我正在为Python3.7.3编写一个函数,测试一个数字是否是另一个数字的因子 我试着在互联网上进行研究,以了解如何编写一个函数来测试分解两个未知实数的有效性。最后我偶然发现了因子分解和可除性之间的区别,这让我有些好奇 def is_factor(f, n): """This function returns if f, a real number, is a factor of another real number n.""" while f * f <= n:

我正在为Python3.7.3编写一个函数,测试一个数字是否是另一个数字的因子

我试着在互联网上进行研究,以了解如何编写一个函数来测试分解两个未知实数的有效性。最后我偶然发现了因子分解和可除性之间的区别,这让我有些好奇

def is_factor(f, n):
    """This function returns if f, a real number, is a factor of another
    real number n."""
    while f * f <= n:
        if f % n == 0:          
            f /= n
            #return True?
        else: f += 1 #return False?

print(is_factor(1, 15))
def是_因子(f,n):
“”“如果f(实数)是另一个的因子,则此函数返回
实数

当f*f处理整数时,使用:

def is_factor(f, n):
    return n%f==0
如果您处理的是实数,上面的代码可以工作,但对浮点不精确非常敏感。相反,您可以将
n
除以
f
,然后在四舍五入到最接近的整数后查看是否返回
n

def is_factor(f, n, e):
    return abs(round(n/f)*f-n)<e
def是_因子(f,n,e):

返回abs(四舍五入(n/f)*f-n)如果处理整数,请使用:

def is_factor(f, n):
    return n%f==0
如果您处理的是实数,上面的代码可以工作,但对浮点不精确非常敏感。相反,您可以将
n
除以
f
,然后在四舍五入到最接近的整数后查看是否返回
n

def is_factor(f, n, e):
    return abs(round(n/f)*f-n)<e
def是_因子(f,n,e):

return abs(round(n/f)*f-n)您希望函数在哪里返回真值或假值?您介意添加一些关于代码草稿的解释吗?除了不存在返回真或假的地方之外,我似乎看不到它背后的数学推理。每个非零实数都是其他所有实数的一个因子,在实数中除法没有其他障碍。为什么复制粘贴一个(部分)因子分解算法(查找所有素因子)当您想要更简单的东西时?也许您忘记了做一些值得描述的事情,这是促使您做出
is\u factor
的真正问题,您希望从函数中返回真值还是假值?您介意添加一些关于您的代码草稿的解释吗?除了不存在返回真或假的地方之外,我似乎看不到它背后的数学推理。每个非零实数都是其他所有实数的一个因子,在实数中除法没有其他障碍。当你想要更简单的东西时,为什么要复制粘贴(一部分)因子分解算法(查找所有素数因子)?也许你忘记了做一些值得描述的事情,这促使你做出
is\u factor
感谢你为我的函数提供了一个快速的解决方案。我本来可以用不同的措辞,尽管你的两个答案都值得注意,因为它们会带来智慧的暗示。关于其他回复:问题是故意抽象的,因此没有明确的解决方案。@NationalRex22我不确定我是否理解你的评论。你会有什么不同的做法?关于“这个问题是故意抽象的,所以没有一个明确的解决方案”:这个问题对我来说是非常明确和具体的:当一个数
f
是一个数
n
的一个因子时,如何编写一个返回True的函数,否则返回False。这个问题有一个明确的解决方案。谢谢你为我的职能提供了一个快速的解决方案。我本来可以用不同的措辞,尽管你的两个答案都值得注意,因为它们会带来智慧的暗示。关于其他回复:问题是故意抽象的,因此没有明确的解决方案。@NationalRex22我不确定我是否理解你的评论。你会有什么不同的做法?关于“这个问题是故意抽象的,所以没有一个明确的解决方案”:这个问题对我来说是非常明确和具体的:当一个数
f
是一个数
n
的一个因子时,如何编写一个返回True的函数,否则返回False。这个问题有一个明确的解决办法。