01/10/2018, 10:16
Hỏi về đệ quy python cơ bản
em học đến bài đệ quy mà chưa hiểu tại sao nó không in ra n mà lại là none. Uploading…
Bài liên quan
em học đến bài đệ quy mà chưa hiểu tại sao nó không in ra n mà lại là none. Uploading…
int(n) < 0
xem sao.cảm ơn a, em sẽ rút kinh nghiệm lần sau
Để mình chạy đệ quy cái đoạn code của bạn
parameter n
sẽ giận giá trị 3Lần 1:
not isinstance(3, int):
ở đây không không thỏa. Tiếp tục3 < 0:
tiếp tục không thỏa.Do đó tơi
else
Tiếp tục nhảy vào
function
và lần nàyparameter n
giận nhá trị 2Và cũng y chang kết quả như trên ta vẫn ta sẽ tiếp tục nhảy vào
function
vớiparameter n
giận nhá trị 1 và 0. Sau lần 0 ta sẽ cóparameter
tiếp theo là -1. Dĩ nhiên nó sẽ rơi vàon < 0: (-1 < 0:)
Do đó sẽ có dòng
'in hay nhap so nguyen duong'
. Vàreturn None
.None
này sẽ đượcvariable result
nhận vìresult = check_isinstance(n - 1)
. Inresult
thì ta đượcNone
và lại tiếp tụcreturn result
với kết quảNone
Vàresult
cứ thế tiếp tục trả về vớiNone
.Đếm xem nãy giờ ta chạy bao nhiều lần
result = check_isinstance(n - 1)
.(3 - 1), (2 - 1), (1 - 1), (0 - 1)
Đồng nghĩa với việcNone
được in 4 lần.