Как сделать ствол у новогодней елочки в Python

Максим Владимиров1

Новичок
Пользователь
Ноя 28, 2022
11
0
1
  1. Windows
  2. Python 3.9
  3. 22.2.2
  4. Python:
    n = int(input("dd: "))
    k = int(input("dd2: "))
    
    def christmas_tree(n):
        p = 1
        h = n
    
        for x in range(k + 1):
            for i in range(p-1, n + 1):
    
                    print(" " * (h + h - i), "*" * (2 * i + 1))
            p += 2
            n += 1
    
    
    christmas_tree(n)
    
    def stvol(n):
        for j in range (n):
            print(" "* (n), "*" * (n-3))
    
    stvol(n)

Добрый вечер! У меня есть вопрос, как сделать так чтобы ствол елочки вставал посередине (независимости от размеров) и подстраивался примерно под размеры ёлочки? У меня только получилось так чтоб ствол был примерно подходящим под размеры елки, но он живет своей жизнью. Буду благодарен если у Вас найдется время мне помочь!

Вот как получилось.

pythonProject5 – C__Users_carpl_PycharmProjects_pythonProject5_venv_fffff.py 29.11.2022 0_07_47.png
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Python:
n = int(input("dd: "))
k = int(input("dd2: "))


def christmas_tree(n):
    p = 1
    h = n

    for x in range(k + 1):
        for i in range(p-1, n + 1):
            print(" " * (h + h - i), "*" * (2 * i + 1))
        p += 2
        n += 1
    for j in range(h):
        print(" " * (h + h - 1), "*" * (n - h))


christmas_tree(n)
 

Максим Владимиров1

Новичок
Пользователь
Ноя 28, 2022
11
0
1
Python:
n = int(input("dd: "))
k = int(input("dd2: "))


def christmas_tree(n):
    p = 1
    h = n

    for x in range(k + 1):
        for i in range(p-1, n + 1):
            print(" " * (h + h - i), "*" * (2 * i + 1))
        p += 2
        n += 1
    for j in range(h):
        print(" " * (h + h - 1), "*" * (n - h))


christmas_tree(n)
Cпасибо за ответ! Стало лучше чем было, но по прежнему осталась проблема в том что если делать значения больше ствол стоит криво, есть ли какой либо способ это исправить!? Буду ждать ответа, буду очень благодарен) значения в dd: 20, а в dd2: 30


pythonProject5 – C__Users_carpl_PycharmProjects_pythonProject5_venv_nnn.py 29.11.2022 17_59_36.png
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Cпасибо за ответ! Стало лучше чем было, но по прежнему осталась проблема в том что если делать значения больше ствол стоит криво, есть ли какой либо способ это исправить!? Буду ждать ответа, буду очень благодарен) значения в dd: 20, а в dd2: 30


Посмотреть вложение 2097
ну поиграйтесь со значениями пробелов...
 

programmer007

Новичок
Пользователь
Ноя 30, 2022
9
0
1
Скорее всего, проблема в перемещении строк, попробуйте изменить количество пробелов - должно выправиться.
 

Форум IT Специалистов