-3
def fi_da_prfac(var):
fac = []
prfac = []
z = range(2, (var/2)+1)
z.append(var)
for t in z:
if var == t:
prfac.append(t)
z = range(2, (var/2)+1)
z.append(var)
break
else:
if var % int(t) == 0:
prfac.append(t)
var = var/t
del z
z = range(2, (var/2)+1)
z.append(var)
del t
return prfac
我是一個初學者在編碼。我正在嘗試編寫代碼來查找給定數字的Prime因式分解。如果我們分析代碼,我想要做的是如果我找到一個因素,我想再次啓動for循環,即。從t = 2開始for循環。我沒有找到任何方法來做到這一點。所以我最後刪掉了「t」。但是代碼不提供所需的輸出。我試了很多來調試它,但不能。請幫助我如何找到素因子
再次運行代碼意味着使用循環,例如使用循環, 'while'或'for'。 – TigerhawkT3
你讓你的代碼複雜化,即使你自己也不明白,我建議你先寫一個isPrime函數來查看一個數是否爲素數,然後計算一個數的所有因子,看看它們中的哪一個是素數然後返回它們,約2個功能,每個功能5行。 – Arman
@Arman是的,我已經做到了,解決了這個問題。但我真的很想知道我在上面的代碼中做了什麼錯誤。 – Primalr3d