我对Stack Overflow来说是全新的,而且在编码时也是一个完整的新手。但是,我努力工作并努力通过自我学习获得创造力。
现在,我正在尝试编写一个LCM函数,该函数将多个数字作为输入,并返回LCM(我知道有两个数字的LCM有一个更简单的代码)。但是,我似乎已经碰壁了。不确定我做错了什么,但我的代码不起作用。也就是说,它给我的结果不正确。
代码如下:
def product(sequence):
base = 1
for i in range(0,len(sequence)):
base *= sequence[i]
i += 1
return base
def is_prime(x):
if x < 2:
return True
else:
for n in range(2,x):
if x%n == 0:
return False
return True
def lcm(my_list):
base = []
new_list = sorted(my_list)
for x in range(0,len(new_list)):
for i in new_list:
for j in range(min(new_list),max(new_list)+1):
if is_prime(j) == True:
if i//j == 1 and i%j == 0:
new_list[x] = 1
elif i//j > 1 and i%j == 0:
new_list[x] == i//j
else:
new_list[x] = i
x = x+1
base.append(j)
return product(base)
我很感激有关我的代码的任何建设性反馈,特别是如果有人能够突出显示这不起作用的原因。
先谢谢python社区!