그레이 코드를 바이너리 코드로 변환해야 할 때 숫자가 0인지 아닌지 확인하는 메소드를 정의합니다.
아래는 동일한 데모입니다 -
예시
def flip_num(my_nu): return '1' if(my_nu == '0') else '0'; def gray_to_binary(gray): binary_code = "" binary_code += gray[0] for i in range(1, len(gray)): if (gray[i] == '0'): binary_code += binary_code[i - 1] else: binary_code += flip_num(binary_code[i - 1]) return binary_code gray_code = "01101001" print("The gray code is :") print(gray_code) print("Binary code of", gray_code, "is", gray_to_binary(gray_code))
출력
The gray code is : 01101001 Binary code of 01101001 is 01001110
설명
-
숫자가 0인지 확인하는 'flip_num'이라는 메서드가 정의되어 있습니다.
-
0이면 1, 아니면 0을 반환합니다.
-
그레이 코드를 매개변수로 사용하는 'gray_to_binary'라는 또 다른 메서드가 정의되어 있습니다.
-
회색 코드의 숫자를 반복하고 이진수의 인덱스에 값을 저장합니다.
-
숫자가 0이 아니면 'flip_num' 메소드가 호출되어 숫자가 1로 변경됩니다.
-
이진수를 정의하고 이 값을 전달하여 메소드를 호출합니다.
-
출력은 콘솔에 표시됩니다.