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

如何正确调用这段Python代码中的自定义绝对值计算函数?

问题根源

你写的代码存在3个核心问题,导致只能依赖最后一行才能触发运行,且不符合「计算并返回数字绝对值」的任务要求:

  • 函数定义时声明了接收参数a,但函数内部又用input()语句覆盖了参数值,导致主动传参的逻辑完全失效
  • 函数没有设置return返回值,默认返回None,和「返回计算结果」的要求不符
  • 只写函数定义的话Python不会主动执行任何逻辑,必须有单独的函数调用语句才能触发运行,你说的「最后一行」本质就是调用语句,只是写法不符合需求

解决方案

根据你的使用场景可以选任意一种修改方案:

方案1:保留「传入数字返回绝对值」的逻辑,符合课程任务要求

删掉函数内部的input语句,调用时直接传参即可,不需要把调用嵌套在print里:

def absolute(a):
    if a >= 0:
        res = a
    else:
        res = -a
    # 打印逻辑可以保留也可以删掉,不影响返回结果
    print('The absolute value of', a, 'is:', res)
    return res

# 需要调用时直接写函数+传入参数即可,不用套在print里
absolute(1)
absolute(-2.7)

方案2:保留输入交互逻辑,运行函数自动提示用户输入数字

不需要给函数设置参数,调用时直接写函数名+括号即可触发:

def absolute():
    a = float(input('Enter a positive or negative number: '))
    if a >= 0:
        res = a
    else:
        res = -a
    print('The absolute value of', a, 'is:', res)
    return res

# 需要调用时直接执行下面这行即可
absolute()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:54:03