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

Python获取数字首尾位执行公式时出现IndentationError缩进错误如何解决

报错原因

IndentationError: unindent does not match any outer indentation level为Python的缩进匹配错误,核心触发规则是同一逻辑层级的代码缩进量必须完全一致,你提供的代码存在两处直接触发报错的问题:

  • 计算z值的代码行、后续的if判断行缩进量和for循环体内的其他代码不匹配,这两行被解析为不属于for循环体的内容,缩进层级无法匹配外部逻辑块。
  • 代码存在混用不同缩进单位的问题:同一层级的代码部分使用2个空格缩进、部分使用1个空格缩进,也有可能混用了制表符(Tab)和空格,视觉上看似对齐,实际Python解析时无法识别为同一层级。

额外优化点

将firstDigit、lastDigit两个工具函数定义在for循环内部属于冗余写法,每次循环都会重复执行函数定义逻辑,会额外占用运行资源,建议移到循环外部。

修正后可运行代码

def firstDigit(n):
    while n >= 10:
        n = n / 10
    return int(n)

def lastDigit(n):
    return n % 10

for n in range(10, 99):
    z = firstDigit(n)**2 + lastDigit(n)**2 + firstDigit(n) + lastDigit(n)
    if z == n:
        print(z)

运行后输出符合要求的结果为13、31。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:15:04