def drawSpirograph(self, R, r, O):
        pi = 3.14159265358979323
        x1 = R-O
        y1 = 0
        x2 = -1
        y2 =  -1
        i  = 1
        self.context.beginPath()
        self.context.moveTo(x1,y1)
        while x2 != R-O and y2 != 0:
            if i>20000:
                break
            x2 = (R+r)*cos(i*pi/72) - (r+O)*cos(((R+r)/r)*(i*pi/72))
            y2 = (R+r)*sin(i*72/pi) - (r+O)*sin(((R+r)/r)*(i*pi/72))
            self.context.lineTo(x2,y2)
            x1 = x2
            y1 = y2
            i+=1
        self.context.stroke()
dataset/ETHPy150Open anandology/pyjamas/examples/addonsgallery/Canvas2DTab.py/SpiroCanvas.drawSpirograph/swapped operands of `/`