Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 5

Tell us what’s happening:

Projectile(45, 45, 45) it showing this error. give me any hint to figure it out.

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

ball = Projectile(10, 3, 45)
def __str__(self):
    return f'''
Projectile details:
speed: {self.__speed} m/s
height: {self.__height} m
angle: {int(math.degrees(self.__angle))}°
displacement: {round(self.__calculate_displacement(), 1)} m
'''
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/131.0.0.0 Safari/537.36

Challenge Information:

Learn Encapsulation by Building a Projectile Trajectory Calculator - Step 5

What error are you getting?

Can you share your output?

Your function should be in the class.

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