Question & Answer

Karel has gotten really into board games lately. Karel wants to build a checkerboard so that he can play board games with the other dogs. Write a program that has Karel paint a checkerboard. You can assume that the world will always have 8 rows and 8 columns. HINT: Rather than typing out every single move and paint command, think about how you can break this problem down into smaller problems that are repeated. What functions could you write that would make this problem easier to solve? Note: Be sure to include comments for all functions that you use or create.

Karel has gotten really into board games lately. Karel wants to build a checkerboard so that he can play board games with the other dogs. Write a program that has Karel paint a checkerboard. You can assume that the world will always have 8 rows and 8 columns. HINT: Rather than typing out every single move and paint command, think about how you can break this problem down into smaller problems that are repeated. What functions could you write that would make this problem easier to solve? Note: Be sure to include comments for all functions that you use or create.

World: Checkerboard Karel’s Karel World
Starting World
Ending World

1 Answer

Verified archive
Quizzma TeamOctober 12, 2025

To help Karel paint a checkerboard, we can break the task down into smaller problems. We can create functions that allow Karel to paint a single row of the checkerboard and switch directions after each row to paint the next. Here’s a simple program in Karel’s programming language:


# Function to paint a single row of the checkerboard

def paint_row(start_color):

if start_color == "black":

paint_square("black")

paint_square("white")

paint_square("black")

paint_square("white")

paint_square("black")

paint_square("white")

paint_square("black")

paint_square("white")

else: # start with white

paint_square("white")

paint_square("black")

paint_square("white")

paint_square("black")

paint_square("white")

paint_square("black")

paint_square("white")

paint_square("black")

# Function to paint a square of the checkerboard

def paint_square(color):

if color == "black":

paint() # Paint the square black

else:

# Move Karel without painting to the next square (assumed white)

pass

move() # Move to the next square

# Main function to paint the full checkerboard

def paint_checkerboard():

for row in range(8): # Loop through each row

if row % 2 == 0: