【发布时间】:2015-10-08 16:10:50
【问题描述】:
我有下面的函数来得到下面的输出
22
4444
666666
相反,我得到了
'22\n4444\n666666\n88888888\n'
任何想法我哪里出错了?
def EvenLadder(n):
...: solution = ''
...: if n <= 1:
...: return solution
...: elif n%2 ==0:
...: for i in range(2,n+1,2):
...: solution += (str(i)*i)+"\n"
...: else:
...: n = n - 1
...: for i in range(2,n+1,2):
...: solution += (str(i)*i)+"\n"
...: return solution
【问题讨论】:
-
试试
print(EvenLadder(n))。当您调用函数而不打印或将结果存储在变量中时,您只是看到了repr()的输出。显然,给n一些价值。 -
你的代码对我来说很好,结果和你希望的一样。
-
打印 EvenLadder(6).__repr__() - '22\n4444\n666666\n';打印 EvenLadder(6) - 22 4444 666666
-
是的 .. 打印作品 .. 谢谢 :)
标签: python