すべて。私は非常に新しいプログラマーです。現時点で私が選んでいる言語はPythonであり、私はそれに対してまともな気持ちがあるように感じます。私はちょうど再帰について学び始めています。 (ちなみに、誰かがこれについての良いガイドをお勧めすることができれば、私に教えてください!)あなたが知っているように、この質問は非常に初歩的で、私が投稿しているコードはひどくひどく間違っています。特定の分離度の友人を取得する
とにかく、私は指定された程度のすべての友人を取得する関数を書こうとしています。私が度として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を使用する必要があります。 html#set)を使用します。 –
+1 Matthew。 AがBと友人で、BがA、Aで友達である場合、A.getFriends(5、[])は[A、B、A、B、A、B]を返します – NicDumZ