python - 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
解决方案
我使用 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 中的分号,除非您想制作一个眨眼的脸;)
推荐阅读
- charts - 在 Chart.js 中的图表内显示标签的总计(或简单地显示一个字符串)
- c++ - std::variant 的 std::vector 的内存布局如何?
- c# - 将视图变量绑定到视图内声明的 UserControl ViewModel
- java - maven有效的pom显示未定义的插件
- android - 带有 ViewPager 和 TabLayout 的 Android Jetpack 导航
- sql-server - SQL Server 存储过程复杂性
- android - 是否可以无头打开 Android 模拟器并让它自动运行 apk?
- reactjs - React 虚拟化无限滚动渲染聚合数据
- c# - 如何实现 MailSystem.NET 组件作为参考?
- google-app-engine - 如何在部署阶段在 gitlab ci 中添加 .env 文件?