我正在四处游荡学习python。我想创建一个模块来检查素数并分解给定的数字。但是导入模块会导致在我运行代码时经常出现这些因素。 当我运行导入函数3次时,我得到的结果是:“60不是素数。其系数为:[2,2,3,5,2,2,3,5,2,2,2,3,5]。”
我认为问题在于我在函数之前定义了数组素数因子。 当我尝试将数组放入函数时,它只给出:“x不是素数。它的系数是:[],其中x是我要检查的数字
prime_factors=[]
def factorize(x):
i=2
while i <= x:
if x%i==0:
x=x/i
prime_factors.append(i)
else:
i+=1
def prime_check(x):
import numpy as np
factorize(x)
if np.size(prime_factors)==1:
print(str(x)+" is prime.")
else:
print(str(x)+" is not prime. Its factors are: "+str(prime_factors))
我只是想要一个输出,比如:“60不是素数。它的因子是:[2,2,3,5]“对于素检查器
是的,没错。这将起作用(为了清晰起见,需要进行一些间距编辑):
作为一般原则,除非有充分的理由,否则函数不应修改其范围之外的变量。返回某些内容比修改全局变量要好得多
相关问题 更多 >
编程相关推荐