human
I am working on the file "Sessions/Session03/Day2/OOP.ipynb".
The first task is:
Problem 3b
In order for our MovingGalaxy to move, we have to give it a few more methods.  Copy your class definition from above, and add three more methods.  
Create a move method which accepts a time argument and updates the MovingGalaxy's x_position, and y_position by accounting for the motion from its x_velocity and y_velocity.
Create a calculate_momentum method that returns a tuple of (x_momentum, y_momentum) for a galaxy.
Finally, create an evolve method, which accepts a time argument, and just executes your move method before calling the superclass's evolve method (i.e. EvolvingGalaxy's).
Can you write Python code for it?
assistant
#Here is the Python code you requested.

class MovingGalaxy(EvolvingGalaxy):
    """
    This galaxy can move over time in the x,y plane
    """
    def __init__(self, total_mass, cold_gas_mass, stellar_mass, x_position, y_position, x_velocity, y_velocity, idnum, age=0):
        
        # Replace self with super to activate the superclass's methods
        super().__init__(total_mass, cold_gas_mass, stellar_mass)
        
        self.x_position = x_position
        self.y_position = y_position
        self.x_velocity = x_velocity
        self.y_velocity = y_velocity
        self.idnum = idnum
        
    def __repr__(self):
        return "Galaxy %i (x = %.0f; y = %.0f)" % (self.idnum, self.x_position, self.y_position)
        
    def move( #complete
        
    def calculate_momentum( #complete

    def evolve( #complete