Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 7

Tell us what’s happening:

How is this wrong? i don’t understand i even put it into chat gpt and it said it’s fine

Your code so far

import math

GRAVITATIONAL_ACCELERATION = 9.81
PROJECTILE = "∙"
x_axis_tick = "T"
y_axis_tick = "⊣"

class Projectile:
    __slots__ = ('__speed', '__height', '__angle')

    def __init__(self, speed, height, angle):
        self.__speed = speed
        self.__height = height
        self.__angle = math.radians(angle)
        
    def __str__(self):
        return f'''
Projectile details:
speed: {self.__speed} m/s
height: {self.__height} m
angle: {round(math.degrees(self.__angle))}°
displacement: {round(self.__calculate_displacement(), 1)} m
'''

    def __calculate_displacement(self):
        horizontal_component = self.__speed * math.cos(self.__angle)
        vertical_component = self.__speed * math.sin(self.__angle)
        squared_component = vertical_component**2
        gh_component = 2 * GRAVITATIONAL_ACCELERATION * self.__height
        sqrt_component = math.sqrt(squared_component + gh_component)
        
        return horizontal_component * (vertical_component + sqrt_component) / GRAVITATIONAL_ACCELERATION
        
    def __calculate_y_coordinate(self, x):
        height_component = self.__height
        angle_component = math.tan(self.__angle) * x
        acceleration_component = GRAVITATIONAL_ACCELERATION * x**2 / (
                2 * self.__speed**2 * math.cos(self.__angle)**2)
        y_coordinate = height_component + angle_component - acceleration_component

        return y_coordinate


# User Editable Region

    def calculate_all_coordinates(self):
        
        max_x = math.ceil(self.__calculate_displacement())

     
        coordinates = []

        
        for x in range(max_x):
            
            y = self.__calculate_y_coordinate(x)

            
            coordinates.append((x, y))

        
        return coordinates
        
ball = Projectile(10, 3, 45)
print(ball)


# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36

Challenge Information:

Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 7

you are missing

  1. You should call the calculate_all_coordinates method on ball and assign the result to a variable named coordinates .

oh right, i love this code site, it really is helpful, but the wording a lot of the times is very confusing, it’s happened to me a couple times where i just don’t have a clue what it is asking, it’s not specific enough. It takes problem solving to try and figure out what it’s even trying to ask you to do, in that step my brain was all over the place, took me a day to complete this step.

this is not an easy project, it’s also toward the end of the certification so you need to do more of the work on your own. If you need help don’t be afraid to ask

if you have feedback on wordings, feel free to open an issue on github