我試圖解決一個練習,它包含給定數字的一個主分解。代碼不工作在一個類
def primes(n):
p=[]
for a in range(2,n+1):
if (is_prime(a)): p.append(a)
return p
def is_prime(number):
for n in range(2,number):
if not number%n : return False
return True
def factor(z):
p=primes(z)
fact={}
if z in p:
fact[z]=1
else:
for n in p:
while z%n==0 and (z/n not in p):
if n not in fact: fact[n]=1
else: fact[n]+=1
z/=n
if z%n==0 and (z/n in p):
if n in fact: fact[n]+=1+(z/n==n)
else:
fact[n]=1
fact[z/n]=1+(z/n==n)
break
return fact
print factor(13)
我的代碼像一個魅力工作;但exercice希望我把它在一個類開始:
class PrimeFactorizer:
#your code here
這將與PrimeFactorizer(n).factor
當我添加的工作上面的代碼到
class PrimeFactorizer:
def __init__(self, z):
self.z=z
來稱呼它返回我的當致電PrimeFactorizer(13).factor
空的東西可以有人給我一個暗示我做錯了什麼? 感謝
'.factor'或'.factor()'? – Mel
指示說.factor TBH我真的不知道其中的差別:對 –
閱讀'Python文檔 –