Tôi đã viết đoạn mã sau:hàm đệ quy Dường như đơn giản kết thúc trong vòng lặp vô hạn
def incr_num(x, y):
while x <= y:
print x
incr_num(x+1, y)
Khi tôi gọi đây là
incr_num(1, 10)
nó được vào một vòng lặp vô hạn và cho sản lượng này:
1
2
3
4
5
6
7
8
9
10
10
10
10
10
10
10
(number 10 keeps repeating)
Tôi đã hy vọng nó sẽ in số 1-10. Tôi không thể hiểu tại sao nó không. Ai đó có thể vui lòng cho tôi biết tại sao điều này xảy ra.
Tôi đang sử dụng python2.7.
Bởi vì bạn không bao giờ thay đổi 'x', do đó 'trong khi x <= y' là luôn luôn đúng. – kindall
Đệ quy vô hạn, hoặc vòng lặp vô hạn trong khi? –
sử dụng nếu thay vì trong khi – Ciro