我遇到一个问题陈述,需要编写一段Python代码来编写一个函数,该函数应该计算从0到“max”参数可被“divisor”参数整除(无余数)的值的数量。
def divisible(max, divisor):
count = 0 # Initialize an incremental variable
for x in range(max): # Complete the for loop
if x % divisor == 0:
count+=1 # Increment the appropriate variable
return count
print(divisible(100, 10)) # Should be 10
print(divisible(10, 3)) # Should be 4
print(divisible(144, 17)) # Should be 9
我写了上面的代码。我想知道是否有更好的代码或替代脚本。请评论
因为您需要对 value%divisor == 0 的值进行计数,并且它应该在 [0, max) 之间,其中 max 不包含在内,那么您可以做的是
只是
(max_value-1)//divisor + 1
一个数字可以被除数整除而没有余数的值的个数,+1 表示值 0
所以你的解决方案应该是
def divisible(max_value, divisor):
return (max_value - 1)//divisor + 1