2015-09-27 49 views
-4

我正在嘗試做一個谷歌挑戰:「找到連續數字的第一個10位數字」。ValueError:int()以10爲底的無效字面值:'59574966 n9'

我得到的錯誤: 「ValueError異常:無效的字面INT()基數爲10: '59574966個\ N9'」

這是相關代碼:

def getNumber(i, text): 
    string = "" 
    for x in range(i,i+10): 
     string += text[x] 

    return string 

def init(text): 
    i=0 
    while(i<2000000-10): 
     number = getNumber(i,text) 
     if(isPrime(int(number))): 
      print(number) 
      break; 

     i+=1 

file = open("C://Users/Name/Desktop/e.txt", 'r') 
e = file.read() 
init(e) 

林加載一個文件e到200萬小數。 isPrime()是一個我確定可以工作的函數。

+1

你有沒有注意到在錯誤信息字符串中的換行符?在嘗試解析字符串之前,可能需要刪除(全部)換行符。 – Evert

+3

錯誤消息不能有更多的信息。 – ozgur

回答

0

而不是做這個的:

file = open("C://Users/Name/Desktop/e.txt", 'r') 
e = file.read() 
init(e) 

你或許應該這樣做:

with open("C://Users/Name/Desktop/e.txt", 'r') as fd: 
    for e in fd: 
     e = e.strip() 
     if e: 
      init(e) 
相關問題