2010-07-20 40 views
26

Mức đệ quy tối đa là gì và làm cách nào để thay đổi nó trong Python?Mức đệ quy tối đa trong Python

+32

xem http://stackoverflow.com/questions/3289430/python-recursion – RYFN

+4

lol !! yêu nó! Giống như http://www.google.co.uk/search?hl=vi&q=recursion – Lizard

+6

@Zeus, tôi đã cố gắng đóng tài khoản này dưới dạng bản sao của chính nó. Quá tệ nó không hoạt động. – senderle

Trả lời

30

Giá trị mặc định là 1000 cấp độ sâu và bạn có thể thay đổi điều đó bằng cách sử dụng chức năng setrecursionlimit trong mô-đun sys.

Cảnh báo:

Ghi chú rằng một số hệ điều hành có thể bắt đầu chạy vào vấn đề nếu bạn đi cao hơn nhiều do không gian ngăn xếp hạn chế.

5

Nghĩ rằng tôi sẽ thêm một mã ví dụ:

import sys 
sys.setrecursionlimit(100000) 

Như Lizard lưu ý, mặc định là 1000 vì một lý do và các cảnh báo rất quan trọng. Cố gắng một giới hạn đệ quy cao trên fibonacci (10000) (return f (n-1) + f (n-2)) là đủ để tắt IDE Python của tôi. Không nhận được cảnh báo 'độ sâu đệ quy' không có nghĩa là vấn đề đã được giải quyết.

Các vấn đề liên quan