私はre.findall()を使ってテキストファイルからすべての数値を抽出し、forループを使って合計を計算しようとしています。私が最初に得たのはリストのリストだったので、それらを1つの全体リストに入れ、各数字を整数に変換しようとしました。しかし、私が得た答えは提供された答えとは異なります。誰かが自分のコードを見て、何か見落としていないかどうか確認できますか?テキストファイルへのリンクは次のとおりです。http://python-data.dr-chuck.net/regex_sum_376410.txt数値を抽出して正規表現を使用して和を返します
handle = open('regex_sum.txt','r')
import re
lst = list()
for line in handle:
b = re.findall('[0-9]+', line)
if b:
lst.append(b)
total = 0
for numbers in lst:
for num in numbers:
c = int(num)
total = total + c
print total
P.S私は、私は別の答えを得た理由を理解しました。私のコードは、テキストファイルには存在しなかった '0、8、4、376410'の出力の始めにいくつかの無関係な数字を抽出しました。誰も私のコードを修正する方法を知っているので、これらの数字は再び表示されません。
*どのように違いますか?生成されたリストを期待どおりにチェックしましたか? –
期待される出力は何ですか?何を手に入れましたか? – MrJLP
私は'814051 '、答えは' 629 'で終了すると仮定しています – Tokaalmighty