Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python เพื่อสร้าง Grey Codes โดยใช้ Recursion


เมื่อจำเป็นต้องสร้างรหัสสีเทาโดยใช้การเรียกซ้ำ จะมีการกำหนดวิธีการที่สร้างรายการว่างและเพิ่มค่า 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

  • ใช้ตัวดำเนินการ shift ซ้ายบน iterator และเปรียบเทียบกับตัวเลข

  • นอกเมธอดจะเรียกโดยส่งพารามิเตอร์ที่เกี่ยวข้อง

  • เอาต์พุตจะแสดงบนคอนโซล