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

Python列表转整数报错,求欧拉项目第13题前10数求和方案

问题修复方案

你的代码存在几个语法和逻辑问题,以下是修复步骤和替代方案:

1. 修正列表切片语法

Python中列表的切片语法是[起始索引:结束索引],而非[索引1, 索引2],后者会被识别为元组索引,直接触发语法错误。

2. 正确过滤无效字符

你写的换行符判断ch != ' '是错误的,应改为ch != '\n';另外if ch != ''属于冗余判断,从文件读取的字符中不会包含空字符串。

3. 逐个转换字符为整数

不能直接对字符切片调用int(),需要将每个字符单独转为整数后再进行求和操作。

4. 安全读取文件(推荐)

使用with语句打开文件,能自动完成文件关闭操作,避免资源泄漏。

修复后的代码

# 读取文件并过滤换行符,保留所有数字字符
with open('/Users/bodhimate/Desktop/Coding/Math/projectEuler/projectEulerDoc13.txt') as f:
    data = [ch for ch in f.read() if ch != '\n']

# 取前10个字符转为整数,然后求和
first_ten_sum = sum(int(ch) for ch in data[:10])
print(first_ten_sum)

更简洁的写法

如果仅需计算前10个数字的和,无需生成完整列表,可直接读取后处理:

with open('/Users/bodhimate/Desktop/Coding/Math/projectEuler/projectEulerDoc13.txt') as f:
    # 读取所有内容,去掉换行符,取前10个字符转int求和
    content = f.read().replace('\n', '')
    first_ten_sum = sum(int(c) for c in content[:10])
print(first_ten_sum)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:54:58