2016-04-27 67 views
-1

該任務是通過從文本文件中提取所有數字的文件,將它們放在列表中,並獲得數字的總和。這是我寫的代碼,這是行不通的。我知道它有後re.findallPython re.findall幫助編寫代碼

import re 

handle=open('regex_sum_42.txt') 

mylist=[] 

for lines in handle: 

    numbers=re.findall('([0-9]+)',lines) 

    if len(numbers)>0: 

     #print numbers 

sum=0 

for numbers in numlist: 

    print sum(numlist) 
+0

你能告訴我們什麼'regex_sum_42.txt'看起來像什麼嗎?你說你寫的代碼不起作用,但它是如何失敗的?如果有錯誤,錯誤是什麼? –

回答

0

與行盡請試試這個:

import re 
handle=open('regex_sum_42.txt') 
mylist=[] 
for lines in handle: 
    numbers=re.findall(r'[0-9]+',lines) 
    mylist=mylist+numbers 
def sum(list): 
    sum=0 
    for i in list: 
     sum=sum+int(i) 
    return sum 
print sum(mylist) 

我創建了名稱regex_sum_42.txt測試文件,我認爲你的文件是這樣的:

a10e45 b20e55 .......

如果這不起作用,請讓我知道您的regex_sum_42 .txt看起來像。謝謝!