You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python循环代码调试:提取文本数字求和结果为0的问题排查

问题原因及解决办法

你的代码核心问题是**open()函数无法直接读取网络URL的内容**,它只能打开本地文件。所以你的循环根本没读到目标文件里的任何数字,最终sum自然是0。

修正后的代码

import re
import urllib.request

# 获取网络文件内容并读取为文本
url = "http://py4e-data.dr-chuck.net/regex_sum_1501185.txt"
response = urllib.request.urlopen(url)
text = response.read().decode('utf-8')

# 提取所有数字字符串并转换为整数
numbers = re.findall(r'[0-9]+', text)
total = sum(int(num) for num in numbers)

print(total)

关键改动说明:

  • 使用urllib.request.urlopen()读取网络资源,这是Python标准库自带的工具,不需要额外安装
  • 读取到的内容是字节流,用decode('utf-8')转换为字符串
  • 用生成器表达式直接求和,简化代码逻辑

运行这段代码就能得到正确结果285701了。

内容的提问来源于stack exchange,提问作者user19274296

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:18:20