그레이 코드를 바이너리 코드로 변환해야 할 때 숫자가 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로 변경됩니다.
-
이진수를 정의하고 이 값을 전달하여 메소드를 호출합니다.
-
출력은 콘솔에 표시됩니다.