Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 4

Tell us what’s happening:

I can´t see where is my mistake… I did what the step asks to do, but it still doesn’t pass

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)
        

# User Editable Region

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
        

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Challenge Information:

Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 4

is the function inside something?

No, it is not… Can´t see what´s wrong

In the original code:

   def __calculate_displacement(self): 
        d = math.cos() * (self.__speed*math.sin()*__self.angle+math.sqrt(self.__speed**2 * math.sin()+2*GRAVITATIONAL_ACCELERATION*self.__height/GRAVITATIONAL_ACCELERATION))   
        return d

The function is indented to be inside the class.

it should be, it should be part of Projectile

It worked, thank you so much!