Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

재귀를 사용하여 그레이 코드를 생성하는 Python 프로그램

<시간/>

재귀를 사용하여 그레이 코드를 생성해야 하는 경우 빈 목록을 만들고 값 0과 1을 추가하는 메서드가 정의됩니다. 여러 'for' 루프는 함수 내에서 그레이 코드를 생성하는 데 사용됩니다.

아래는 동일한 데모입니다 -

예시

import math as mt
def generate_gray_list(my_val):
   if (my_val <= 0):
      return
   my_list = list()
   my_list.append("0")
   my_list.append("1")
   i = 2
   j = 0
   while(True):
      if i >= 1 << my_val:
         break
      for j in range(i - 1, -1, -1):
         my_list.append(my_list[j])
      for j in range(i):
         my_list[j] = "0" + my_list[j]
      for j in range(i, 2 * i):
         my_list[j] = "1" + my_list[j]
      i = i << 1
   for i in range(len(my_list)):
      print(my_list[i])
my_num = 3
print("The number is :")
print(my_num)
print("Method to convert gray code to binary is being called...")
generate_gray_list(my_num)

출력

The number is :
3
Method to convert gray code to binary is being called...
000
001
011
010
110
111
101
100

설명

  • 필요한 패키지를 가져옵니다.

  • 빈 목록을 만드는 메서드가 정의되었습니다.

  • 목록에 0과 1을 추가합니다.

  • 여러 'for' 루프는 0과 2 범위 내에서 반복하는 데 사용됩니다.

  • 왼쪽 시프트 연산자는 반복자에서 사용되며 숫자와 비교됩니다.

  • 메소드 외부에서는 해당 매개변수를 전달하여 호출됩니다.

  • 출력은 콘솔에 표시됩니다.