使用遞迴生成格雷碼的 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 的範圍內進行迭代。

  • 在迭代器上使用左移運算子,並將其與數字進行比較。

  • 在此方法之外,透過傳遞相關的引數來呼叫它。

  • 輸出顯示在控制檯上。

更新於: 19-4 月-2021

273 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始使用
廣告
© . All rights reserved.