rotation copied every second circle
You could add a scripted driver to the desired rotation axis of the object with the intermittent rotation, using the following expresion:

var*(int((var/(2.0*pi))%2))


where the variable var, (or whatever you want to call it) refers to the relevant rotation (X,Y,or Z) of the driving object.



Here, the Z rotation of the triangle is  being driven by the expression, in which var refers to the the Z rotation of the square.

EDIT in response to your comment:

We can make the expression a little more general by implicitly casting True and False to 1 and 0:

var*(int((var/(2.0*pi))%3)==1)


In this version, the number where the 3 is determines the number of turns in the cycle, and the number where the 1 is says which of the turns to follow, with 0 as the last, counting back. So this example would make the driven object follow the driver on the second of every three turns.

So, in order to have alternating rotations, in the example below, the green triangle uses:

var*(int((var/(2.0*pi))%2)==1)


..and the yellow triangle uses:

var*(int((var/(2.0*pi))%2)==0)




Any more than this - say, "the second and fifth out of every seven".. and it would probably be tidier to write a little function, and add it to the driver_namespace.