__init __ () toma exactamente 3 argumentos (1 dado)

Acabo de comenzar a aprender Python hoy, así que lo siento si esta es una pregunta fácil. He pasado la última media hora intentando rectificar el siguiente código.

class Area:

    def __init__(self,width,height):
        self.width = width
        self.height = height

    def rectangle_area(self):
        area = self.width * self.height
        return area

area = Area(200, 100)
print area.rectangle_area()
area = Area(250, 150)
print area.rectangle_area()

Cada vez que lo ejecuto, obtengo salidas 20000 y 37500, lo cual está bien, pero luego obtengo:

'__init__() takes exactly 3 arguments (1 given)'

Salida exacta:

20000
37500
=> None
'__init__() takes exactly 3 arguments (1 given)'

¿Alguien puede ver el error en este código?

EDITAR: Esto es del problema 3 dehttp://www.learnstreet.com/assignments/525231f376b99c634f000021/practice/5215e57f76b99c0f52000095

EDIT 2: La pregunta (copiar pegar):

3: Funciónen eso Cree un Área de clase que tenga un constructor que asignará la altura como 100 y el ancho como 200. Defina un método rectangle_area que debe devolver el área de un rectángulo y una instancia de Área como área. Imprime el área del rectángulo. Agregue 50 a la altura y 50 al ancho de la instancia del área. Luego imprime el área del rectángulo.

EDITAR 3: Haciéndolos opcionales da:

20000
37500
=> None
'Have you created two instances named area.height and area.width?'

Respuestas a la pregunta(1)

Su respuesta a la pregunta