python 3.5 Spyder
текст треугольник в питона новой линии не работает в doctest
По какой-то причине мой выход включает \ п символов напечатанных вместо выполнения фактической новой строки. Я думаю, что моя позиция \ n неверна, и я попытался разместить ее в нескольких местах, но я не видел никаких улучшений.
Для например: text_triangle (5) приводит к:
X\\nXX\\nXXX\\nXXXX\\nXXXXX\\nXXXXX\\nXXXX\\nXXX\\nXX\\nX\\n
питон документы упоминается с использованием исходных строк DOc при использовании обратных косых черт, но это не меняет выход либо. Я чувствую, что мой код действительно возвращает правильное количество символов, но как получить новые строки, это для меня загадка.
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))