首页 > 解决方案 > 我怎样才能灵活地计算 *a 项目?

问题描述

def LCM_M(*a):
    highest=max(a)
    value=highest
    while True:
            if highest%a[0]==0 and highest%a[1]==0 and highest%a[2]==0:
                return highest                
            else:
                highest+=value
                
print(LCM_M(8,6,16))

标签: python

解决方案


您可以使用all. all使用多个and条件具有相同的好处,因为它会短路。

def LCM_M(*a):
    highest=max(a)
    value=highest
    while True:
        if all(highest%i == 0 for i in a):
            return highest
        else:
            highest+=value
                
print(LCM_M(8,6,16))
print(LCM_M(2, 4, 6, 8))

输出

48
24

推荐阅读