convert an unfair coin into a fair coin in Python 2.7

Using Python 2.7. Suppose I have an unfair coin and I want to turn it into a fair coin using the following way,

Probability of generating head is equal for unfair coin;

Flip unfair coin and only accept head;

When a head is appearing, treat it as 1 (head for virtual fair coin), when another head is appearing, treat it as 0 (tail for virtual fair coin), next time when head appears, treat it as 1, next time treat as 0, ..., and so on.

Not sure if this method works? Actually I am not quite confident about the method above and also how to use