2015-09-27 50 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) 
相关问题