首页 > 解决方案 > 通过reg表达式查找txt中的数字,小问题

问题描述

我写了代码,但是,它只找到了行中的第一个数字,我有点卡住了。因此,如果只有 1 个有 2 个或更多的数字,我做错了什么?我是初学者。

import re
fhand = open('text2.txt','r')
numlist = list()
total = 0
for line in fhand:


      line = line.rstrip()
      numbers = re.findall(r'[0-9]+', line)
      if len(numbers) < 1: continue
      for element in numbers :
        num = float(numbers[0])
      if num not in numlist:
          numlist.append(num)
      else : continue
      sumlist = sum(numlist)
print(numlist)
print(sumlist)

http://py4e-data.dr-chuck.net/regex_sum_228867.txt这是我正在使用的文本文件,我的总和是 191882,结果应该更大,因为我的文本是从一行中读取唯一的第一个数字。干杯伙计们,我将不胜感激

标签: python

解决方案


在评论中 melpomene 已经回答但如果您需要查看,请将您的代码更改为

for element in numbers :
        num = float(element)

推荐阅读