01/10/2018, 09:46
Double Recursion
Chào mọi người ,mình muốn hỏi về double recursion về cách thức hoạt động và trình tự xử lý của nó
Mình có đoạn code sau,trích từ quyển thinkpython ,và hàm này đã tự gọi chính nó ở dòng 7 , rồi sau đó tiếp tục gọi ở dòng 9, vậy ở đây chính xác nó đã làm gì trong các dòng đó và trình tự chạy như nào ạ ?:
def draw(t, length, n):
if n == 0:
return
angle = 50
fd(t, length*n)
lt(t, angle)
draw(t, length, n-1)
rt(t, 2*angle)
draw(t, length, n-1)
lt(t, angle)
bk(t, length*n)
Bài liên quan
hồi trước e có test thì ra được điều này. Cũng không chắc chắn lắm
ví dụ e đặt như thế này
thì khi chạy a1 nó sẽ chạy tới a2, a2 này sẽ chạy và cứ lặp lại a2 tới lúc nào mà n == 0 tiếp đến nó trả về và chạy a3. a3 sẽ chạy ngược lại. Và a3 cũng sẽ chạy luôn cái a2. Cũng chả biết giải thích sao nữa. Hồi trước e test như thế này.
Kết quả là
Thật sự thì e cũng không chắc chắn là mình hiểu. Nên cũng sẽ lót dép hóng ạ
Sao em thấy em hỏi mà có mình bác thấy bài viết hay sao ấy :’( , dù gì cũngcảm ơn đóng góp của bác
chắc chưa ai đi làm về