#!/usr/bin/env python3 from turtle import Pen def draw_tree(pen, scale=50): pen.color("brown") for angle in range(int(pen.heading() - 80), int(pen.heading() + 60), 51): pen.setheading(angle) back = pen.pos() pen.pd() for _ in range(5): pen.forward(scale) pen.left(10) if scale >= 10: draw_tree(pen, scale // 2) elif scale < 10: draw_leaf(pen, scale) else: pass pen.pu() pen.setpos(back) def draw_leaf(pen, scale=5): back = pen.pos() pen.color("green") pen.pd() factor_width = 1 factor_length = scale for _ in range(20): pen.forward(factor_length) pen.begin_fill() pen.circle(scale * factor_width) pen.circle(-scale * factor_width) pen.end_fill() factor_width *= 0.8 factor_length *= 0.7 pen.setpos(back) pen.color("brown") def setup_pen(): pen = Pen() pen.ht() pen.pu() pen.setheading(90) pen.speed(0) pen.screen.setup(1000, 550) pen.screen.title("Beautiful tree :)") pen.screen.bgcolor("white") pen.setpos(0, -240) return pen if __name__ == '__main__': pen = setup_pen() ## draw_leaf(pen, 50) draw_tree(pen) input('All done!\nPress Enter to quit') exit()