जब रिकर्सन की मदद से ग्रे कोड जेनरेट करने की आवश्यकता होती है, तो एक विधि परिभाषित की जाती है, जो एक खाली सूची बनाती है और इसमें 0 और 1 मान जोड़ती है। फ़ंक्शन के भीतर ग्रे कोड उत्पन्न करने के लिए एकाधिक 'फॉर' लूप का उपयोग किया जाता है।
नीचे उसी का प्रदर्शन है -
उदाहरण
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 जोड़ता है।
-
एकाधिक 'फॉर' लूप का उपयोग 0 और 2 की सीमा के भीतर पुनरावृति करने के लिए किया जाता है।
-
लेफ्ट शिफ्ट ऑपरेटर का उपयोग इटरेटर पर किया जाता है और संख्या के साथ तुलना की जाती है।
-
विधि के बाहर, इसे प्रासंगिक पैरामीटर पास करके कहा जाता है।
-
आउटपुट कंसोल पर प्रदर्शित होता है।