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