Как сделать елочку в питоне
Перейти к содержимому

Как сделать елочку в питоне

  • автор:

Задача на Python. Ёлочка. (функции)

Ёлочка
Маленький Петя делает новогоднюю открытку. Для этого ему надо нарисовать ёлочку. Однако Пете сложно самому справиться с этой задачей, помогите ему в этом.

Ёлочка состоит из n уровней. Первый (верхний) уровень состоит из двух строк, второй — из трех, ..n-й — из n+1 строк. Все строки заполнены одинаковым символом ∗, при этом длины строк составляют 1,2. i+1 на уровне i.

Например, 2-ой уровень ёлочки выглядит так:

Необходимо по введённому натуральному числу n нарисовать ёлочку из n уровней.

Необходимо оформить решение в виде функции для рисования ёлочки tree(n), которая будет вызывать функцию makeLevel(i) для рисования каждого уровня ёлочки при различных значениях i.

def tree(n):
#сюда нужно вставить код
n = int(input())
three (n)

Python 3, командная строка, рисуем елку

Задание

Как лучше выполнить эту задачу? вот что у меня получилось, как можно сделать по другому?

from random import randint as r STAR = '*' TOY = 'o' height = int(input('\nEnter the number of height [2-20]: ')) width = 2 * height - 1 for i in range(1, width + 1, 2): tree = i * STAR tree_1 = tree.center(width, '_') if i == 7 or i == 9 or i == 19 or i == 21 or i == 31: i -= 1 elif i == 11 or i == 23 or i == 33 or i == 35: i += 1 if (i - 3) % 3 == 0: start = (width - i) // 2 end = start + i my_list = list(tree_1) my_list[r(start, end)] = TOY tree_1 = ''.join(my_list) print(tree_1) 

Отслеживать
49.3k 17 17 золотых знаков 57 57 серебряных знаков 101 101 бронзовый знак
задан 4 фев 2019 в 17:15
19 1 1 золотой знак 2 2 серебряных знака 5 5 бронзовых знаков
5 фев 2019 в 10:27

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Ваш код у меня вообще не отработал. Вот, Вам, мой пример генератора ёлки:

SPACE = '_' STRAR = '*' if __name__ == "__main__": rows = int(input()) spaces = rows-1 stars = 2 for i in range(rows): print( (SPACE*spaces) + (STRAR*stars) + (SPACE*spaces) ) stars += 2 spaces -= 1 
7 ______**______ _____****_____ ____******____ ___********___ __**********__ _************_ ************** 

А вот с игрушками:

from random import randint SPACE = '_' STRAR = '*' def toy(line): tmp = '' index = randint(0, len(line)-1) for i in range(len(line)): tmp += line[i] if i != index else 'o' return tmp if __name__ == "__main__": rows = int(input()) spaces = rows-1 stars = 2 for i in range(rows): print( (SPACE*spaces) + ((STRAR*stars) if (i % 2) != 0 else toy(STRAR*stars)) + (SPACE*spaces) ) stars += 2 spaces -= 1 
7 ______o*______ _____****_____ ____***o**____ ___********___ __*****o****__ _************_ ************o* 

Если нужен такой вывод:

10 _________o_________ ________***________ _______***o*_______ ______*******______ _____**o******_____ ____***********____ ___*****o*******___ __***************__ _**********o******_ ******************* 
10 _________*_________ ________o**________ _______*****_______ ______*o*****______ _____*********_____ ____o**********____ ___*************___ __*************o*__ _*****************_ 

То: [26] ((STRAR*stars) if (i % 2) == 0 else toy(STRAR*stars)) +

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Кривая елочка в Python

#1 Ноя. 28, 2022 14:24:52

MaksimVladimirov Зарегистрирован: 2022-11-28 Сообщения: 3 Репутация: 0 Профиль Отправить e-mail

Кривая елочка в Python

Здравствуйте! В колледже мне задали сделать новогоднею елочку с N этажами. Я сделал все что было в моих силах. Вопрос заключается в том как ее сделать ровной, у меня она как пизанская башня. Буду очень Вам благодарен! Жду ответа)

n = int(input("dd: ")) k = int(input("dd2: ")) p = 1 def christmas_tree(n): p = 1 for x in range(k + 1): for i in range(p, n + 1): print(" "*(n+n-i), "*"*(2*i+1)) p = p+2 n = n+1 christmas_tree(n) 

attachment

Прикреплённый файлы:
pythonProject5 – mon.py 28.11.2022 14_03_56.png (52,6 KБ)

#2 Ноя. 28, 2022 16:14:37

Rodegast От: Пятигорск Зарегистрирован: 2007-12-28 Сообщения: 2686 Репутация: 182 Профиль Отправить e-mail

Кривая елочка в Python

dd = 10 dd2 = 3 def vetka(i): l = (dd*2-i)//2 return ' '*l + '*'*i + ' '*l def konus(): return "\n".join( vetka(x) for x in range(dd*2) if x%2 ) print("\n".join( konus() for x in range(dd2))) 

С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

#3 Ноя. 28, 2022 16:25:21

MaksimVladimirov Зарегистрирован: 2022-11-28 Сообщения: 3 Репутация: 0 Профиль Отправить e-mail

Кривая елочка в Python

Cпасибо, но Ваш код без соединений, получилось так что просто про дублировались треугольники, а надо чтоб был треугольник в треугольнике и сверху в низ она расширялась. У меня все это сделано, фотографию прикреплял, но она кривая! Как сделать ее ровной?

#4 Ноя. 28, 2022 16:35:39

Rodegast От: Пятигорск Зарегистрирован: 2007-12-28 Сообщения: 2686 Репутация: 182 Профиль Отправить e-mail

Кривая елочка в Python

print("\n".join( konus()[x*dd*2:] for x in range(dd2))) 

С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Как сделать новогоднюю ёлку на Python? | Как поменять написанный в консоли текст?

Иконка канала Учебник по Творческой Реализации

В этом видео я покажу вам, что может произойти, если вы попытаетесь призвать Херобрина из черепашьего яйца. Ну и ещё мы поговорим о том, как с помощью питона (python) можно красить и менять написанный в консоли текст, а на основе этих навыков сделаем новогоднюю ёлочку, которая будет приколдесненько моргать) Приятного просмотра) Код от ёлочки ищи в нашем дискордике: https://discord.gg/Fkzy9TzNw5 Видео про фотошопчик: https://youtube.com/playlist?list=PLITs_hlC1HpS9oYKt5KKUP5Ngn9kU3a9c Видео про майнкрафтик: https://youtube.com/playlist?list=PLITs_hlC1HpSCY5QThciJdOV3BTDKr0Or Музычка из интро и аутро (prod. by waytoolost): https://youtu.be/_zOzguGFTBA

Показать больше

Войдите , чтобы оставлять комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *