Thắc mắc về câu lệnh return trong vòng đệ quy

def draw(t,length,n):
 if (n == 0):
 	return
 angle = 50
 t.fd(length*n)
 t.lt(angle)
 draw(t,length,n-1)
 t.rt(2*angle)
 draw(t,length,n-1)
 t.lt(angle)
 t.bk(length*n)	

Đây là bài tập 5.5 trong sách thinkpython2 ạ. Em thắc mắc ở chỗ nếu n = 0 thì return về cái gì ạ ?

thì không chạy gì nữa thôi chứ đâu có return về cái gì, như hàm kiểu void

Dùng để thoát đoạn code mình đang chạy.
Nên sẽ không có giá trị trả về.

1 Like

Em vẫn chưa hiểu lắm. Sau khi thoát đoạn code đó thì nó sẽ chạy tiếp ở chỗ nào ạ ? Anh có thể nói sơ cho em về thứ tự chương trình chạy ko ạ ?

Bạn đã biết về đệ quy là gì chưa? Nếu biết về đệ quy thì bạn cũng phải hiểu được đệ quy chạy như thế nào.

1 Like

trong hàm draw, đầu tiên nó xét n có bằng 0 hay không, nếu n=0 thì thoát, n!=0 thì thực hiện tiếp

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?