我试着用给定的高度和宽度把一个给定的符号做成一个矩形。第一个def函数应该只包含一个参数。这也应该是一个高阶函数。这是我到目前为止的代码:
def rectangle(x):
def someName(width,height):
i = x * width
while len(i) <= height:
print(i)
i = i+1
return someName如果输入类似这样的内容来测试它,则应打印以下内容:
>>> percent = rectangle('%')
>>> dot = rectangle('.')
>>> print(percent(3,2))
%%%
%%%
>>> print(dot(4,1))
....我的代码当前返回None。如何让它返回i?如果我将return someName更改为return i,则会发生许多其他错误。
发布于 2021-11-05 02:51:06
您可以尝试使用python的装饰器函数,如下所示:
def decorate(key):
def real_decorate(func):
def wrapper(width, height):
return func(width * key, height)
return wrapper
return real_decorate
@decorate("%")
def rectangle(width, height):
return [width for i in range(height)]
print("\n".join(rectangle(10, 5)))https://stackoverflow.com/questions/69848053
复制相似问题