【发布时间】:2021-09-27 17:01:02
【问题描述】:
我目前的代码串是:
def makeTriangle(sign):
def triangle(n):
result = ''
for i in range(1,n+1):
result += sign * i + '\n'
return result
return
我如何使用高阶函数将符号从 MakeTriangle(sign) 传递到 triangle(n)?
【问题讨论】:
-
sign已经可以在triangle中访问,这要归功于范围界定的工作原理。 -
你需要从 makeTriangle 返回三角形
-
将
return更改为return triangle -
因此您不想“将参数
sign传递到triangle内makeTriangle”,您想使用makeTriangle(sign)返回捕获/记住的trianglesign。传递一个参数具体意味着你正在尝试做triangle(sign),你想要的是一个闭包。
标签: python higher-order-functions