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

Python求和千个1时报错invalid literal for int() with base 10的原因?

报错原因说明

这个错误的本质是int()方法接收了无法转换为十进制整数的字符串参数。
对应你的代码场景,问题出在字符串变量的定义环节:

  • 你写的str='1,1,1,1,1,1... to 1000是省略写法,字符串实际包含...、to这类非数字字符,不是由1000个1加逗号拼接而成的纯数字分隔字符串
  • 调用split(',')切割后,最后一个列表元素是带有省略符号的'1...',不是纯数字字符串'1',传入int()转换时就会触发你遇到的报错。

如果需要验证逻辑正确性,可以先生成符合要求的测试字符串再运行,示例代码如下:

# 生成1000个1用逗号分隔的字符串
s = ','.join(['1'] * 1000)
list_s = s.split(",")
Sum = 0
for i in list_s:
    Sum += int(i)
print(Sum)

运行后会得到预期结果1000。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:57:03