w3resource

Python: Recursion limit

Python Basic: Exercise-80 with Solution

Current Recursion Limit

Write a Python program to get the current value of the recursion limit.

sys.getrecursionlimit(): Return the current value of the recursion limit, the maximum depth of the Python interpreter stack. This limit prevents infinite recursion from causing an overflow of the C stack and crashing Python. It can be set by setrecursionlimit().

Sample Solution:

Python Code:

import sys  # Import the sys module to access system-related information

print()  # Print a blank line for spacing
print("Current value of the recursion limit:")  # Display a message about the recursion limit
print(sys.getrecursionlimit())  # Retrieve and print the current recursion limit
print()  # Print a blank line for spacing

Sample Output:

Current value of the recursion limit:                                                                         
1000

How to change the maximum recursion depth in Python?

sys.setrecursionlimit(limit): Set the maximum depth of the Python interpreter stack to limit. This limit prevents infinite recursion from causing an overflow of the C stack and crashing Python.

The highest possible limit is platform-dependent. A user may need to set the limit higher when they have a program that requires deep recursion and a platform that supports a higher limit. This should be done with care, because a too-high limit can lead to a crash.

Python Code:

import sys  # Import the sys module to access system-related information

print("Call sys.getrecursionlimit() to get the current recursion limit:")  # Display a message about getting the current recursion limit
recursion_limit = sys.getrecursionlimit()  # Retrieve and store the current recursion limit
print(recursion_limit)  # Print the current recursion limit

print("\nCall sys.setrecursionlimit(n) to change the recursion limit to n operations:")  # Display a message about changing the recursion limit
sys.setrecursionlimit(1001)  # Set the recursion limit to 1001 operations
new_recursion_limit = sys.getrecursionlimit()  # Retrieve and store the new recursion limit
print(new_recursion_limit)  # Print the new recursion limit

Sample Output:

Call sys.getrecursionlimit() to get the current recursion limit:
1000

Call sys.setrecursionlimit(n) to change the recursion limit to n operations:
1001

Python Code Editor:

 

Previous: Write a Python program to get the size of an object in bytes.
Next: Write a Python program to concatenate N strings.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/python-basic-exercise-80.php