Khi bắt buộc phải tạo mã màu xám với sự trợ giúp của đệ quy, một phương thức được xác định, tạo một danh sách trống và nối các giá trị 0 và 1 vào nó. Nhiều vòng lặp "for" được sử dụng để tạo mã màu xám trong hàm.
Dưới đây là minh chứng về điều tương tự -
Ví dụ
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)
Đầu ra
The number is : 3 Method to convert gray code to binary is being called... 000 001 011 010 110 111 101 100
Giải thích
-
Các gói bắt buộc được nhập.
-
Một phương thức được xác định, sẽ tạo ra một danh sách trống.
-
Nó thêm 0 và 1 vào danh sách.
-
Nhiều vòng lặp ‘for’ được sử dụng để lặp lại trong phạm vi 0 và 2.
-
Toán tử dịch trái được sử dụng trên trình lặp và so sánh với số.
-
Bên ngoài phương thức, nó được gọi bằng cách truyền tham số có liên quan.
-
Đầu ra được hiển thị trên bảng điều khiển.