【发布时间】:2022-11-17 01:20:33
【问题描述】:
有人可以帮我处理我的代码并让我知道其中有什么问题吗?
def count_primes(nums):
count = 0
for num in range(2,nums+1):
if num%2!=0 or num%3!=0 or num%5!=0:
count+=1
return count
【问题讨论】:
-
你怎么知道它不起作用?
-
这不是您测试数字是否为素数的方式。它甚至不测试数字是否不是
2, 3, and 5的倍数——您需要将or更改为and。 -
首先编写一个函数
is_prime(),并确保它能正常工作。然后在你的循环中调用它。 -
@Woodford 因为当我将 100 作为参数传递时,我得到的是 96 而不是 25。
-
@Barmar 谢谢!有效。