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

Python含内部函数的自定义幂运算函数返回None,如何修正?

修正Python幂运算函数返回None的问题

你的代码返回None的核心问题有两个:

  • 内部函数inner没有返回语句,执行完后默认返回None
  • inner的square和cube参数是多余的,你直接使用了外部函数的Amount1和Amount2,但计算结果没有传递出来

修正后的代码如下:

def calculate(Amount1, Amount2):
    def inner():
        square = Amount1 ** 2
        cube = Amount2 ** 3
        return (square, cube)
    return inner()

print(calculate(2,4))  # 输出 (4, 64)

修正说明:

  1. 移除inner的多余参数:内部函数可以直接访问外部函数的Amount1和Amount2,不需要额外传参
  2. 给inner添加返回语句:计算完成后返回square和cube组成的元组
  3. 外层函数返回inner()的执行结果:这样calculate就能拿到内部函数的计算结果并返回

如果一定要保留inner的参数(虽然没必要),也可以改成这样:

def calculate(Amount1, Amount2):
    def inner(num1, num2):
        square = num1 ** 2
        cube = num2 ** 3
        return (square, cube)
    return inner(Amount1, Amount2)

print(calculate(2,4))  # 输出 (4, 64)

这里inner使用传入的num1和num2计算,同时添加返回语句,就能得到正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:40:26