के भीतर मित्र प्राप्त करना। मैं एक बहुत ही नया प्रोग्रामर हूं। इस समय मेरी पसंद की भाषा पाइथन है, और मुझे लगता है कि इसके लिए मुझे सभ्य अनुभव है। मैं अभी रिकर्सन के बारे में सीखना शुरू कर रहा हूं। (वैसे, अगर कोई इस पर एक अच्छी मार्गदर्शिका की सिफारिश कर सकता है, तो कृपया मुझे बताएं!) बस इतना ही आप सभी जानते हैं, यह सवाल बहुत प्राथमिक है, और जिस कोड को मैं पोस्ट कर रहा हूं वह बहुत ही गलत है।सभी अलग-अलग पृथक्करण
वैसे भी, मैं एक ऐसा फ़ंक्शन लिखने की कोशिश कर रहा हूं जो सभी मित्रों को निर्दिष्ट डिग्री के भीतर प्राप्त करे। अगर मैं इसे 0 डिग्री के रूप में पास करता हूं, तो मैं बस खुद को चाहता हूं। अगर मैं इसे पास करता हूं, तो मैं और मेरे सभी दोस्तों को चाहता हूं। 2, मैं चाहता हूं कि मैं, मेरे दोस्त, और उनके सभी दोस्तों, और इसी तरह।
मैंने ऐसा करने के कुछ अलग-अलग तरीकों की कोशिश की है, लेकिन कोई भी काम नहीं है। मैं कल्पना करने की कोशिश करता हूं कि इसे सिद्धांत में कैसे काम करना चाहिए, और मैं इसे इसलिए नहीं प्राप्त कर सकता क्योंकि मैं इस क्षेत्र में इतना अनुभवहीन हूं। हो सकता है कि यहां एक दयालु आत्मा मुझे सभी तरीकों से दिखा सके जिसमें यह कोड विफल हो गया है और फिर समझाएं कि यह कैसे ठीक से करें और/या विषय पर एक अच्छी मार्गदर्शिका की अनुशंसा करें। यहाँ जाता है:
def getFriends(self,degree,friendList):
if degree == 0:
friendList.append(self)
return friendList
else:
friendList = friendList.append(self)
for each in self.friends:
each.getFriends(degree-1,friendList)
यह काम नहीं करता है, और मैं जानता हूँ कि मैं बेवकूफ, बेवकूफ कार्य कर लेते हैं। किसी ने मुझे थप्पड़ मारो और मुझे सही दिशा में इंगित करें!
धन्यवाद।
आप एक सेट (http://docs.python.org/library/stdtypes उपयोग करना चाहिए। एचटीएमएल # सेट) एक सूची के बजाय। –
+1 मैथ्यू। यदि ए बी के साथ मित्र है, और बी ए, ए, एजी फ्रेंड्स (5, []) के साथ मित्र है [ए, बी, ए, बी, ए, बी] – NicDumZ