![](/img/trans.png)
[英]What's the best between return the result and print it at the end of the function?
[英]What is the equivalent to end=“” in a return function?
我正在自学习Python,很想知道是否有与print()的end =“”等效的返回函数。 例如:
def shape(num,x):
for col in reversed(range(num)):
for row in range(col+1):
print(x,end="")
print()
给我想要的结果,但是如何使用return函数为我提供相同的结果?
您在问如何返回字符串吗? 这是一种方法,遵循您使用的相同形式:
def shape(num,x):
result = ''
for col in reversed(range(num)):
for row in range(col+1):
result += x
result += '\n'
return result
print (shape(4, '*'), end="")
但是,在字符串上使用+=
是错误的形式。 随着您继续改进代码,请检查列表理解和str.join()
函数。
您可能最终会得到如下结果:
return '\n'.join('*'*(col+1) for col in reversed(range(num)))
打印返回值:
def shape(num):
x = 0
for col in reversed(range(num)):
for row in range(col+1):
x += row
return x
print(shape(82))
您可以执行此操作的另一种方法是使用生成器函数:
def shape(num, x):
for col in reversed(range(num)):
yield x * (col + 1)
for line in shape(4, '*'):
print(line)
注意:生成器函数的功能基本上与Robᵩ所示的生成器表达式相同(在'\\n'.join()
),但是值得了解如何为更复杂的情况创建生成器函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.