RosettaCodeData/Task/Gray-code/Python/gray-code-2.py
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

7 lines
196 B
Python

>>> def bin2gray(bits):
return bits[:1] + [i ^ ishift for i, ishift in zip(bits[:-1], bits[1:])]
>>> def gray2bin(bits):
b = [bits[0]]
for nextb in bits[1:]: b.append(b[-1] ^ nextb)
return b