Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

You must login to ask a question.

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Quizzma Latest Articles

4.6.6 Caterpillar CodeHS Answers

The most common answer for the 4.6.6 Caterpillar CodeHS is:

NUM_CIRCLES = 15
This graphics program should draw a caterpillar.
A caterpillar is made up of NUM_CIRCLES circles.
The circles should alternate red – green – red – green, etc
Use a for loop to draw the worm,
centered vertically in the screen.
Also, be sure that the worm is still drawn across
the whole canvas, even if the value of NUM_CIRCLES is changed.
radius = (get_width() / NUM_CIRCLES / 2)
x = radius
for i in range(NUM_CIRCLES):
circ = Circle(radius)
if i % 2 == 0:
circ.set_color(Color.red)
else:
circ.set_color(Color.green)
circ.set_position(x, get_height() / 2)
add(circ)
current_spot = x
x = current_spot + (radius * 2)

This code for drawing a caterpillar with alternating red and green circles is on the right track, but it appears to be missing proper indentation, which is critical in Python. Additionally, there are a few tweaks needed to ensure that the caterpillar is drawn correctly across the canvas.

Here’s the corrected version of the code with proper indentation and a small adjustment to ensure that the circles form a caterpillar shape:

# Assuming you are using a graphics library that provides Circle, Color, get_width(), and get_height() functions

NUM_CIRCLES = 15

# Calculate the radius of each circle
radius = get_width() / NUM_CIRCLES / 2
x = radius

for i in range(NUM_CIRCLES):
    # Create a circle
    circ = Circle(radius)

    # Alternate the color of the circles
    if i % 2 == 0:
        circ.set_color(Color.red)
    else:
        circ.set_color(Color.green)

    # Position the circle
    circ.set_position(x, get_height() / 2)

    # Add the circle to the canvas
    add(circ)

    # Update the x position for the next circle
    x += radius * 2  # This creates a small gap between the circles

In this revised code:

  • The indentation is corrected to define the scope of the loop and conditional statements properly.
  • The calculation for x is adjusted to ensure that the circles are spaced out evenly to form a caterpillar shape. The x position is incremented by twice the radius for each circle, creating a small gap between the circles.

This code will create a caterpillar with NUM_CIRCLES circles, alternating in red and green colors, and centered vertically on the canvas. The caterpillar will span the entire width of the canvas, adjusting based on the value of NUM_CIRCLES.

Was this helpful?




Quizzma Team

Quizzma Team

The Quizzma Team is a collective of experienced educators, subject matter experts, and content developers dedicated to providing accurate and high-quality educational resources. With a diverse range of expertise across various subjects, the team collaboratively reviews, creates, and publishes content to aid in learning and self-assessment.
Each piece of content undergoes a rigorous review process to ensure accuracy, relevance, and clarity. The Quizzma Team is committed to fostering a conducive learning environment for individuals and continually strives to provide reliable and valuable educational resources on a wide array of topics. Through collaborative effort and a shared passion for education, the Quizzma Team aims to contribute positively to the broader learning community.

Related Posts