from tkinter import *
def draw_shapes(a_canvas:Canvas, start_x, start_y, size, number_of_rows):
x_left = start_x
y_down = start_y
for i in range(number_of_rows):
x = x_left+size*i
y = y_down
a_canvas.create_rectangle(x,y,x+size,y+size,fill='blue')
if i>0:
x = x_left
y = y_down+size*i
a_canvas.create_rectangle(x,y,x+size,y+size,fill='blue')
for j in range(1, number_of_rows-i):
x = x_left+size*j
y = y_down+size*i
a_canvas.create_oval(x,y,x+size,y+size,fill='blue')
root = Tk()
a_canvas = Canvas(root, width=600, height=400)
a_canvas.pack(fill=BOTH, expand = True)
draw_shapes(a_canvas, 20, 30, 50, 6)
a_canvas.mainloop()