【发布时间】:2019-05-22 13:37:13
【问题描述】:
我正在为 Python 3.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))
该函数似乎可以工作,因为 Python 返回 None,仅此而已。我希望该函数返回 True 或 False 解决方案。代码中一定有一些逻辑错误。任何反馈表示赞赏。
【问题讨论】:
-
你希望你的函数在哪里返回真值或假值?
-
您介意添加一些关于您的代码草稿的解释吗?除了没有地方返回 True 或 False 之外,我似乎看不出它背后的数学推理。
-
每个非零实数都是其他实数的因数,实数除法没有其他障碍。当您想要更简单的东西时,为什么要复制粘贴(部分)分解算法(查找所有质因数)?
-
也许你忘了做某事there
-
值得描述真正的问题促使你做出
is_factor
标签: function math numbers boolean factoring