2016-06-24 29 views
-5

我嘗試在Python 2中編寫一個程序,該程序在數字中搜索我最大的prim值。 但我有我的代碼問題:Python 2獲取數字的最高級別因子||無效的合成器

def all_prims(): 

primnumbers = [] 

numbers = [True] * (1000 + 1) 
#0 and 1 aren't prims, so False 
numbers[0] = False 
numbers[1] = False 

i = 2 

while i * i <= 1000: 
    if numbers[i] == True: #i is marked as prim 
     for k in range(i * i, 1000 + 1, i): 
      numbers[k] = False 

    i = i + 1 

for v in numbers: 
    primnumbers.append[v] 


"""if__name__ == '__all_prims__': 
    all_prims() 
""" 

#BeginnProgram 

all_prims() 
#search_biggest_primfactor() 
n = 0 

#defsearch_biggest_primfactor(number): 
number = int(raw_input('Please insert a Number: ') 
prim = primnumbers[n] 
primfactors = [] 
while prim != number: 
    if number % p == 0: 
     number=number/prim 
     primfactors.append[prim] 

    n+=1 
    prim = primnumbers[n] 

output = 0 
for y in prim factors: 
    if y > output: 
     output = y 
    i + 1 

print output 

一些行存在與線34無效的語法類似這樣的錯誤: 回溯(最近通話最後一個): 文件「蟒蛇」,行34 拘謹= primnumbers [N] ^ 語法錯誤:無效的語法

我將感謝如果有人能幫助我,我的代碼。 謝謝。 問候

+2

縮進是錯誤的驗證碼。請確保此代碼有您引用的錯誤,並且錯誤是第一個遇到的錯誤。 –

+0

'number = int(raw_input('請插入一個數字:')'缺少第二個'''將來,特別是語法錯誤時,檢查緊挨編譯器抱怨的那一行是否值得。 – TemporalWolf

回答

0

您需要添加其他括號關閉該行:

number = int(raw_input('Please insert a Number: ') 

所以就變成:

number = int(raw_input('Please insert a Number: '))