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

Python报错TypeError: 'int' object is not subscriptable原因咨询

错误复现

对应出错代码如下,运行后输入两位数27时,预期输出数位相加结果9,实际抛出TypeError: 'int' object is not subscriptable错误:

two_digit_number = input("Type a two digit number: ")
new_two_digit_number = int(two_digit_number)
print(new_two_digit_number[0] + new_two_digit_number[1])
错误原因

这个报错的核心是对不支持下标访问的对象使用了下标取值操作:

  • 代码中[0]、[1]属于下标索引语法,仅能作用在字符串、列表、元组这类由多个元素按顺序组成的序列类型对象上,用来按位置取出对应位置的元素。
  • int(整数)类型是单个数值实体,不是多个元素组成的序列,不存在“第0位”“第1位”的位置属性,本身不支持下标访问操作。

结合代码执行逻辑具体看:

  1. input()函数获取的用户输入默认是字符串类型,输入27时,two_digit_number存储的是字符串值"27",这时候对它做下标访问可以正常拿到第一位字符"2"、第二位字符"7"。
  2. 通过int(two_digit_number)将字符串转换为整数类型的数值27后,new_two_digit_number存储的是数学意义上的整数27,不再是两个字符拼接成的序列,此时再对它用下标取数位就会触发该类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 01:48:16