所以我需要创建一个函数,找到最小自然数,可以除以2,3,4,5,6,7,8,9,10
到目前为止我得到的是:
def divisible():
number= 2
if number % 2 == 0:
if number % 3 == 0:
if number % 5 == 0:
if number % 7 == 0:
if number % 9 == 0:
print number
else:
number = number + 2
divisible()
所以我就这么做了:
如果自然数可以被2整除,那么它也可以被4整除,10和5也是一样,所以我把它们去掉了。然后我在检查除法是否可以完全由其他所有数字来完成。我的想法是打印出可以通过所有这些条件(如果是)的数字。你知道吗
另外,因为我要找的数字可以除以2,这意味着它必须是偶数,所以我每次都要加2。你知道吗
其思想是找到一个可以被2、3、4、5、6、7、8、9和10整除的数字,然后打印出来。你知道吗
有人能帮点忙吗?你知道吗
每次调用
divisible()
时,都将number
设置为2。你永远也到不了else
。您需要的是在函数外部将number
设置为2,然后以number
作为参数在循环中调用函数,直到找到要查找的数字。你知道吗即:
并在循环中调用此函数:
请注意,这不是一个最佳的算法,我发现这样的数字。你知道吗
您的代码没有在数字上循环;
number
保持静态,并且由于number = 2
,其他测试都失败了。那是因为你没有在这里做循环。你知道吗您还从测试中排除了错误的数字;一个可以被2整除的数字不一定可以被10整除,只有相反的数字才是真的。所以你需要在这里测试6,7,8,9和10。您可以使用
all()
来测试一系列数字,而不是一组嵌套的if
语句:你至少需要增加10,一旦你以10的步长增加,如果它也可以被10整除,那么测试就没有意义了。你知道吗
这生成第一个这样的数字。如果需要测试一个数是否可以被所有这些因子整除,请使用
%
测试这5个数是否没有余数:这起作用了:
可除()
相关问题 更多 >
编程相关推荐