Friday, 25 April 2025

Python Coding challenge - Day 450| What is the output of the following Python Code?

 


Code Explanation:

 Importing the LRU Cache Decorator

from functools import lru_cache
What it does: Imports the lru_cache decorator from the functools module.
Why it's used: lru_cache (Least Recently Used cache) stores results of expensive function calls and returns the cached result when the same inputs occur again. This is useful for optimizing recursive functions like Fibonacci.

Decorating the Function with Cache

@lru_cache(maxsize=3)
What it does: Applies the lru_cache to the function that follows.

Parameter: maxsize=3 limits the cache to store only the 3 most recently used results. Older values are discarded when the cache is full.
Why it's important: Reduces redundant calculations in recursion.

Defining the Fibonacci Function
def fib(n):
What it does: Starts the definition of the Fibonacci function.
Parameter: n is the position in the Fibonacci sequence to calculate.

Handling the Base Case
    if n < 2:
        return n
What it does: Handles the base case of the recursion.

Explanation:
If n is 0 → return 0
If n is 1 → return 1
These are the first two numbers in the Fibonacci sequence.
Recursive Case
    return fib(n-1) + fib(n-2)
What it does: Calls fib recursively to calculate the nth Fibonacci number.

How it works:
For n ≥ 2, Fibonacci is defined as:
fib(n) = fib(n-1) + fib(n-2)
This adds the two preceding Fibonacci numbers.

Calling the Function and Printing the Result
print(fib(5))
What it does: Calls fib(5) and prints the result.

 Final Output: 5

This is the 5th number in the Fibonacci sequence (0-based indexing):
0, 1, 1, 2, 3, 5


0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (152) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (251) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (298) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (217) Data Strucures (13) Deep Learning (68) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (47) Git (6) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (186) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (11) PHP (20) Projects (32) Python (1218) Python Coding Challenge (884) Python Quiz (342) Python Tips (5) Questions (2) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (45) Udemy (17) UX Research (1) web application (11) Web development (7) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)