4
歩留まりを使用した再帰
再帰とyieldステートメントを組み合わせる方法はありますか?たとえば、(再帰を使用する)無限数ジェネレータは次のようになります。 def infinity(start): yield start # recursion here ... >>> it = infinity(1) >>> next(it) 1 >>> next(it) 2 私は試した: def infinity(start): yield start infinity(start + 1) そして def infinity(start): yield start yield infinity(start + 1) しかし、それらのどれも私が望むことをしませんでした、最初のものはそれが降伏した後に停止startし、2番目のものは降伏しstart、次にジェネレーターそしてそれから停止しました。 注: whileループを使用してこれを実行できることを知っています。 def infinity(start): while True: yield start start += 1 これを再帰的に実行できるかどうかを知りたいだけです。