from turtle import *

# A function is defined for each part, with following steps
#    1. pen up
#    2. move to correct position
#    3. pen down
#    4. draw
#    5. return home

class Face:

    def __init__(self, xpos, ypos):
        self.size = 90
        self.coord = (xpos, ypos)
        self.noseSize = 'small'

    def setSize(self, radius):
        self.size = radius
        
    def draw(self):
        self.goHome()
        pensize(3)
        speed(0)
        self.drawOutline()
        self.drawEye(135)
        self.drawEye(45)
        self.drawMouth()
        self.drawNose()
        pensize(5)

# --------------------------------------------------
#    Functions that are called from with the class
# --------------------------------------------------


    # After drawing each part, turtle position 
    # returns to centre. Parts can be drawn in any order
    def goHome(self):
        penup()
        goto(self.coord)
        
        setheading(0)
        
    def drawOutline(self):
        penup()
        # move turtle pen in forward direction 
        forward(self.size)
        left(90)
        # draw a circle of given radius
        pendown()
        circle(self.size)
        # return back to centre
        self.goHome()

    def drawEye(self, turn):
        penup()
        # turn turtle pen to given angle
        left(turn)
        # move turtle pen in forward direction
        forward(self.size / 2)
        pendown()
        # draw a cirle of given radius
        dot(self.size/10)
        # return back to centre
        self.goHome()
        
    def drawMouth(self):
        penup()
        # turn turtle pen to given angle
        right(135)
        # move turtle pen in forward direction
        forward(self.size/1.7)
        left(90)
        pendown()
        # draw a circle of given radius
        # but till given extent only 
        circle(self.size/1.7,90)
        self.goHome()

    def drawNose(self):
        if self.noseSize == 'large' :
            dot(self.size/2, "grey")
        elif self.noseSize == 'small' :
            dot(self.size/6, "grey")
        else :
            dot(self.size/4, "grey")
        self.goHome()
        

#  start of drawing code
#  ---------------------
  
f1 = Face(0, 0)
f1.draw()

showturtle()
done()

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: