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!

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.