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

Python函数未实现预期年龄修正效果,求问题排查与修正

代码错误排查与修复

核心问题分析

  • 缩进错误:fix_age函数中if条件后的index = 0未缩进,违反Python的缩进语法规则,会触发语法错误导致代码无法正常执行。
  • 不可变类型传参失效:Python的整数属于不可变类型,函数接收的参数是原始变量的副本,在函数内部修改参数值不会影响外部的原始变量。
  • 无返回值传递修正结果:fix_age函数没有返回修正后的年龄值,无法将处理后的结果同步到外部的变量中。

修复后的代码

a = int(input("Age1: "))
b = int(input("Age2: "))
c = int(input("Age3: "))


def fix_age(age):
    if (13 <= age < 15) or (16 < age <= 19):
        return 0
    return age


def filter_teens(a, b, c):
    fixed_a = fix_age(a)
    fixed_b = fix_age(b)
    fixed_c = fix_age(c)
    total = fixed_a + fixed_b + fixed_c
    print(total)
    return total

filter_teens(a, b, c)

修复说明

  1. 修正缩进问题,确保if条件块内的代码正确归属到判断逻辑下。
  2. 调整fix_age函数为返回处理后的年龄值,通过返回值传递修正结果,避免因不可变类型传参导致的修改失效问题。
  3. 在filter_teens函数中接收每个年龄的修正结果,再进行求和计算,确保年龄修正规则生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:25:26