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

Python循环时遇'TypeError: object type is not subscriptable'错误求解

问题分析与修正

错误原因拆解

  1. 第4行核心错误:range是Python内置函数,调用必须用圆括号(),而非方括号[]。方括号用于序列(如列表)的索引操作,你用range[]相当于试图对range这个类型做索引,因此抛出TypeError: 'type' object is not subscriptable。
  2. 多余变量定义:number = [10]完全没必要,for循环会自动将range中的每个值依次赋值给number,之前的定义会被覆盖。
  3. 错误循环范围:题目要求遍历range(10)(即0到9的整数),但你写了range(1,10)(1到9),不符合题目要求。
  4. 无效的number +=1:for循环会自动迭代range的下一个值,手动修改number会破坏循环的正常迭代逻辑,这行代码完全多余。
  5. 未执行的退出操作:exit是函数,必须加括号写成exit()才会触发程序退出,否则只是引用函数对象,不会终止程序。

修正后的代码

guess_me = 5

# 遍历range(10),即0到9的整数
for number in range(10):
    if number < guess_me:
        print('too low')
    elif number == guess_me:
        print('found it!')
        break
    else:
        print('oops')
        exit()

运行逻辑验证

  • 当number为0到4时,打印too low
  • 当number等于5时,打印found it!并通过break跳出循环
  • 由于循环在number=5时已终止,else分支(number>5的情况)不会被触发,完全符合题目要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:45:35