Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 5

Tell us what’s happening:

What exactly is wrong here. I’m getting Projectile(45, 45, 45) should be correct. I have checked this issue on the forum and confirmed the spacing and spelling is correct. I also made it as one string. I really don’t get where I am going 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 __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

       
    def __str__(self):   
        m = (f'\n  Projectile details: \n  speed: {self.__speed} m/s \n  height: {self.__height} m \n  angle: {int(math.degrees(self.__angle))}° \n  displacement: {round(self.__calculate_displacement(), 1)} m \n')
        return m
ball = Projectile(10, 3, 45)
print(ball)


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

Challenge Information:

Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 5

you have extra spaces at the beginning and end of each line

Thanks, seen and done

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