Создание дерева вывода с - и * - PullRequest
1 голос
/ 19 октября 2019

Я работаю над созданием «дерева» вывода с - и * для проекта домашней работы. Низ должен отражать верх. Я близок к завершению вершины, но моя нижняя часть "зеркала" не дает достаточно *. Вот что это должно быть:

-------*
------***
-----*****
----*******
---*********
--***********
-*************
***************
-*************
--***********
---*********
----*******
-----*****
------***
-------*

Я попытался изменить верхнюю часть цикла for в обратном направлении и отредактировать значения диапазона, изменить порядок вложенных циклов for и порядок значений диапазона. В приведенном ниже коде показано, как близко я подошел к желаемому выводу, но мне интересно, ошибаюсь ли я или забыл что-то незначительное.

for rowCount in range(1, 9):
    for dashCount in range(1, 9 - rowCount):
        print("-", end='')
    for starCount in range(1, 2* rowCount):
        print("*", end='')
    print()
for rowCount in range(0,7):
    for dashCount in range(1,2 + rowCount):
        print("-", end='')
    for starCount in range(0,7 - rowCount):
        print("*", end='')
    print()

Ожидается:

-------*
------***
-----*****
----*******
---*********
--***********
-*************
***************
-*************
--***********
---*********
----*******
-----*****
------***
-------*

актуально:

-------*
------***
-----*****
----*******
---*********
--***********
-*************
***************
-*******
--******
---*****
----****
-----***
------**
-------*

1 Ответ

1 голос
/ 19 октября 2019

Вы должны удвоить количество звезд нижнего дерева.

Изменить:

for starCount in range(0,7 - rowCount):

на:

for starCount in range(0, 13 - 2 * rowCount):
...