使用遞迴生成格雷碼的 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 的範圍內進行迭代。
在迭代器上使用左移運算子,並將其與數字進行比較。
在此方法之外,透過傳遞相關的引數來呼叫它。
輸出顯示在控制檯上。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP