Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 5

Tell us what’s happening:

Sorry, me again!
I’m not sure what this error is meant to mean “The string representation for Projectile(45, 45, 45) should be correct” - as far as I can see it is correct: speed = 45, height = 45, angle = 45 and d = 244.4
It looks like the example, what have I got wrong?

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:\n'
                f'speed: {self.__speed} m/s\n'
                f'height: {self.__height} m\n'
                f'angle: {int(math.degrees(self.__angle))}°\n'
                f'displacement: {round(self.__calculate_displacement(), 1)} m\n')


    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

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

# User Editable Region



# 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/127.0.0.0 Safari/537.36 Edg/127.0.0.0

Challenge Information:

Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 5

1 Like

Hi @jccw100

It should start and end with a new line character…

start ✗
end ✓

Happy coding

1 Like

Thank you Teller!!
So simple - READ THE INSTRUCTIONS.
Thanks again.

2 Likes