首页 > 解决方案 > Python:无法使用嵌套函数返回礼物

问题描述

def hypo(a,b):
    def square(x): return x*x;
    return math.sqrt(square(a) + square(b));
def secondfunction():
     result = hypo(1,2);
     print(result);

我正在尝试自己学习 Python,但无法理解有什么问题?

预期结果类似于 2.23606797749979

标签: python

解决方案


我使用 lambda 让它工作:

import math

def hypo(a,b):
    square = lambda x: x * x
    return math.sqrt(square(a) + square(b))

def secondfunction():
     result = hypo(1, 2)
     print(result)

secondfunction()

输出:

2.23606797749979

此外,您不需要 Python 中的分号,除非您想制作一个眨眼的脸;)


推荐阅读