-1
python 3.5 Spyder
文本三角形在文档测试
不工作由于某种原因,我的输出包括印而不是进行实际的新行\ n个字符。我认为我\ n的位置不正确,我试过将它放在多个位置,但我没有看到任何改进。
对于例如:text_triangle(5),得到:
X\\nXX\\nXXX\\nXXXX\\nXXXXX\\nXXXXX\\nXXXX\\nXXX\\nXX\\nX\\n
python文档使用反斜线但这并不会改变输出时使用原始文档字符串提及。我觉得我的代码确实返回了正确数量的字符,但如何让新行发生对我来说是个谜。
def text_triangle(height):
"""(int) -> string
Returns a text version of an isosceles triangle built from 'X' characters
with height copies of the X in the longest line. The triangle is returned
in a multiline string. The string is empty if height <= 0.
For instance, if we call print(text_triangle(5))it will print the following:
X
XX
XXX
XXXX
XXXXX
XXXX
XXX
XX
X
>>> text_triangle(0)
''
>>> text_triangle(1)
X
>>> text_triangle(3)
X
XX
XXX
XX
X
>>> text_triangle(5)
X
XX
XXX
XXXX
XXXXX
XXXX
XXX
XX
X
"""
if(height <= 0):
return ''
else:
out_string = ''
for i in range(0, height):
out_string += 'X' * (i+1) + '\\n'
for i in range(height, 0, -1):
out_string += 'X' * i + '\\n'
return out_string
if __name__ == '__main__':
import doctest
print(doctest.testmod(verbose = True,
optionflags = doctest.NORMALIZE_WHITESPACE))