You need to enable JavaScript to run this app. Thonny环境运行Python代码出现str与int不支持+操作的报错求助
优惠活动
大模型
产品
解决方案
定价
更多

Thonny环境运行Python代码出现str与int不支持+操作的报错求助

报错原因与修复方案

触发Unsupported operand types for + ("str" and "int")报错的核心原因是Python是强类型语言,不支持字符串类型和整数类型直接做加法运算,不会自动隐式转换类型。

代码中的具体问题定位

  • 定义numbers列表时,所有数字都加了英文引号,列表内的元素实际都是字符串类型,比如"1"的类型是str,不是整数1
  • 循环内执行numbers[index] + 19时,加号左侧是字符串类型的列表元素,右侧是整数19,两者类型不兼容,直接触发运行时报错
  • 手动维护index变量追踪列表下标的写法冗余,本身也增加了下标越界的出错风险

可直接复用的修正代码

两种修改方向都能正常运行:

  • 方案1:保留原列表的字符串定义,取元素时显式做类型转换,同时简化循环逻辑,去掉冗余的index变量:
numbers = ["1", "2", "3", "4", "5", "6"]
print(numbers)
for num in numbers:
    print(int(num) + 19)

运行后会依次输出20、21、22……25的运算结果,符合预期。

  • 方案2:从定义列表的源头调整,去掉每个数字两侧的引号,让列表元素直接存储整数类型:
numbers = [1, 2, 3, 4, 5, 6]
print(numbers)
index = 0
for i in numbers:
    print(numbers[index] + 19)
    index = index + 1

这种写法不需要额外做类型转换,原循环逻辑可以直接跑通。

注意:如果列表内的字符串不是合法的纯数字格式,直接用int()转换会触发新的类型转换报错,转换前需要确认元素内容的合法性。

内容的提问来源于stack exchange,提问作者Galaxy - Among us

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.11 11:54:04