Python:创建我自己的LCM功能

时间:2017-10-27 15:25:57

标签: python lcm

我对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社区!

0 个答案:

没有答案