Build a Planet Class - Build a Planet Class

Tell us what’s happening:

I don’t understand the problem in the 18th question, could anybody please guide me.

Your code so far

class Planet:
    def __init__(self, name, planet_type, star):
        
        self.name = name
        self.planet_type = planet_type
        self.star = star

        if not (isinstance(name, str) and isinstance(planet_type, str) and isinstance(star, str)):
            raise TypeError("name, planet type, and star must be strings")

        if name == "":
            raise ValueError("name, planet_type, and star must be non-empty strings")
        if planet_type == "":
            raise ValueError("name, planet_type, and star must be non-empty strings")    
        if star == "":
            raise ValueError("name, planet_type, and star must be non-empty strings")       
        
    def orbit(self):
        return f'{self.name} is orbiting around {self.star}...'

    def __str__(self):
        return f'Planet: {self.name} | Type: {self.planet_type} | Star: {self.star}'
    
planet_1 = Planet("Mars", "Big", "Sun")
planet_2 = Planet("Pluto", "Not so big", "Sun")
planet_3 = Planet("Uranus", "Fairly big", "Sun")

print(str(planet_1))
print(str(planet_2))
print(str(planet_3))

print(planet_1.orbit())
print(planet_2.orbit())
print(planet_3.orbit())

Your browser information:

User Agent is: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36

Challenge Information:

Build a Planet Class - Build a Planet Class

Remove str() method from your statements that are printing planet objects in the last lines of your code.

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