函数应该计算从 0 到“max”参数中可整除的值的数量。这个可整除函数

问题描述 投票:0回答:1

我遇到一个问题陈述,需要编写一段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

我写了上面的代码。我想知道是否有更好的代码或替代脚本。请评论

python for-loop parameters range
1个回答
1
投票

因为您需要对 value%divisor == 0 的值进行计数,并且它应该在 [0, max) 之间,其中 max 不包含在内,那么您可以做的是

只是

(max_value-1)//divisor + 1
一个数字可以被除数整除而没有余数的值的个数,+1 表示值 0

所以你的解决方案应该是

def divisible(max_value, divisor):
    return (max_value - 1)//divisor + 1
© www.soinside.com 2019 - 2024. All rights reserved.