python - PY4E-大海捞针
问题描述
我正在 Coursera 中分配涉及使用正则表达式的 Python 课程。它告诉我们要
通读并解析带有文本和数字的文件。提取文件中的所有数字并计算数字的总和。
我们使用的数据是这样的
这是我的代码:
import re
handle = open('regex_sum_330187.txt')
for line in handle :
line = line.rstrip()
numbers = re.findall('([0-9]+)',line)
print(sum(numbers))
结果总和为0。所以我有点困惑。如果re.findall()
应该返回零个或多个子字符串的列表,我的代码有什么问题?
解决方案
看起来你只是在总结最后一行。为什么不在循环内移动求和?
import re
handle = open('regex_sum_330187.txt')
numbers = 0
for line in handle:
line = line.rstrip()
numbers = numbers + sum(map(lambda x: int(x), re.findall('([0-9]+)', line)))
print(numbers)
推荐阅读
- ios - 为什么图像文字在 Xcode 11.2.1 中不起作用?
- reactjs - 反应导航覆盖抽屉安全区域视图
- reactjs - NodeInvocationException:由于错误,预渲染失败:错误:找不到模块“请求”
- javascript - 如何使用角度动态更改css类
- command-line-arguments - 是否有一个命令行选项可以防止编译器在 C++ 中将 64 位转换为 32 位操作?
- typescript - 如何用打字稿声明反应导航参数?
- java - 无法使用 OWASP.ESAPI 缓解 SQL 注入 - Veracode
- python - 缺少 1 个必需的位置参数:“user_id”
- java - 如何将jodatime的DateTime转换为java的LocalDateTime
- php - FCM 将消息从 php 复制到 iOS Flutter 应用程序