この単純なループは問題なく機能します。
>>> def loop (i):
i+=i
if 0<i<20:
print i
loop(i)
>>> loop (1)
2
4
8
16
しかし、これは機能せず、予期せずループを終了します。
>>> from functools import partial
>>> def loop (i):
i+=i
if 0<i<20:
print i
partial(loop,i)
>>> loop(1)
2
>>>
どうしたの?何とか機能させるための解決策はありますか?
それは単なる単純な機能でした...私の本当の質問は次のとおりです。
Q: 毎回いくつかの引数のみを使用して、それ自体をループできる関数を作成するにはどうすればよいですか? ( partial以外の) どこかを見る必要がありますか?