Circle Matrix with Python Turtle (with Solution)

In this simple python turtle project, you are going to draw a 10×10 matrix of connected circles. You can either use nested loops or define a function that draws a line of circles and and call this function in a single loop.

Solution

import turtle

def draw_circle(x,y,r):
    turtle.up()
    turtle.seth(0)
    turtle.goto(x,y-r)
    turtle.down()
    turtle.circle(r)

def draw_a_line_of_circles(x,y,r,n):
    for i in range(n):
        draw_circle(x,y,r)
        x += 2*r
    
turtle.setup(900,900)
turtle.title("Circle Matrix - PythonTurtle.Academy")
turtle.speed(0)
turtle.hideturtle()
y = 300
radius=30
for i in range(10):
    draw_a_line_of_circles(-300,y,radius,10)
    y -= radius*2

Drawing Rainbow with Python Turtle (Solution Included)

In this python turtle project, you are going to draw a 7-color rainbow and a 49-color rainbow. You need to know for loop, drawing circle, and converting HSV (Hue-Saturation-Value) colorspace to RGB colorspace using the colorsys library.
7 Color Rainbow
49 Color Rainbow

Code:

import turtle
import colorsys

def draw_one_color_arc(x,y,r,pensize,color):
    turtle.up()
    turtle.goto(x+r,y)
    turtle.down()
    turtle.seth(90)
    turtle.pensize(pensize)
    turtle.pencolor(color)
    turtle.circle(r,180)
    

turtle.speed(0)
turtle.hideturtle()
turtle.bgcolor('light blue')
turtle.title('49-Color Rainbow')
turtle.setup(700,700)
num_colors = 49

radius = 300
penwidth = 20*7/num_colors
hue = 0
for i in range(num_colors):
    (r,g,b) = colorsys.hsv_to_rgb(hue,1,1)
    draw_one_color_arc(0,-100,radius,penwidth,(r,g,b))
    radius -= (penwidth-1) #overlapping a little removes the gaps
    hue += 0.9/num_colors

Related Projects: