H.E.G. 发表于 2021-2-25 11:00:40

Python寻找合数程序bug

求助各位Python大神
Python中要制作一个寻找合数的函数
可是代码出现问题
下面是程序代码
def composite_number(x, y):#寻找范围
    number_list = []#初始化
    for n in range(x, y):
    #以下为bug部分
      for i in range(2, n):
            if n % i != 0:#判断是否是质数,如果是,退出循环
                break
      else:
            number_list.append(n)#向添加n的值
    return number_list

请问是哪里出了问题{:10_277:}

qiuyouzhi 发表于 2021-2-25 11:15:33

改成这样:
def composite_number(x, y):#寻找范围
    number_list = []#初始化
    for n in range(x, y + 1):
      for i in range(2, n):
            if n % i == 0:
                number_list.append(n)
                break
    return number_list

柿子饼同学 发表于 2021-2-25 11:32:56

def numcd(x=2, y=9):
   num = []
   for i in range(x, y+1):
          if i == 2:
               num.append(i)
          else:
               for n in range(2, i):
                  if i % n == 0:
                         num.append(i)
                         break
   return num
         

柿子饼同学 发表于 2021-2-25 19:51:36

我去打错了{:10_297:}这样就好def numcd(x=2, y=9):
   num = []
   for i in range(x, y+1):
               for n in range(2, i):
                  if i % n == 0:
                         num.append(i)
                         break
   return num

柿子饼同学 发表于 2021-2-25 19:54:03

默认值不写也没关系,我是为了运行方便{:10_281:}

H.E.G. 发表于 2021-3-5 21:52:41

感谢各位{:10_333:}
页: [1]
查看完整版本: Python寻找合数程序bug