0
我會在python證明,因爲它很容易閱讀....如果原始函數有很多遞歸調用,如何在while循環中使用遞歸函數?
def loop(N,x,y):
if N < n: #condition is defined elsewhere
side = 1.0/(2.0**(n+1))
addTriangle(picture,x,y,side)
loop(N+1, x - .25*side, y - math.sqrt(.75)/2*side)
loop(N+1, x + .75*side, y - math.sqrt(.75)/2*side)
loop(N+1, x + .25*side, y + (side/4.0)*math.sqrt(3))
loop(0, .25, math.sqrt(.75)/2)
我需要重寫此功能,避免使用遞歸。但是,它具有這種分支屬性,這使得它有點棘手。我怎樣才能構建我的功能不使用遞歸?如果你能給我提供while/for循環的基本結構,我相信我可以找出其餘的。謝謝。
謝謝你能否澄清一下條件「while arguments」...什麼時候該返回false? – user3225639
' while arguments'等價於更長的形式,'while len(arguments)!= 0'。在Python中,當轉換爲布爾值時,空列表爲False,所有非空列表爲True。 – Kevin