Sunday, 13 April 2025

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

 


Code Explanation:

1. Importing the lru_cache Decorator

from functools import lru_cache
lru_cache is a decorator from Python's functools module.

It stands for Least Recently Used cache.

It automatically stores the results of expensive function calls and reuses them when the same inputs occur again.

2. Using the @lru_cache Decorator

@lru_cache(maxsize=None)
This line decorates the fib function.

maxsize=None means the cache can grow without limit.

It helps speed up recursive functions like Fibonacci by memoizing results.

3. Defining the Recursive Fibonacci Function

def fib(n):
    if n < 2: return n
    return fib(n-1) + fib(n-2)
Base Case: If n is 0 or 1, return n.

Recursive Case: Return the sum of the two previous Fibonacci numbers:
fib(n-1) and fib(n-2).

4. Calling the Function and Printing Result

print(fib(5))
Calls the fib function with argument 5.

The function computes the 5th Fibonacci number:

fib(5) = fib(4) + fib(3)
       = (fib(3) + fib(2)) + (fib(2) + fib(1))
       = ...
       = 5
Result is 5, which is printed.

Final Output:

5


Related Posts:

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (104) AI (41) Android (24) AngularJS (1) Api (2) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (200) C (77) C# (12) C++ (83) Course (67) Coursera (251) Cybersecurity (25) Data Analysis (3) Data Analytics (3) data management (11) Data Science (149) Data Strucures (8) Deep Learning (21) Django (16) Downloads (3) edx (2) Engineering (14) Euron (29) Events (6) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Generative AI (11) Google (36) Hadoop (3) HTML Quiz (1) HTML&CSS (47) IBM (30) IoT (1) IS (25) Java (93) Java quiz (1) Leet Code (4) Machine Learning (86) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (4) Pandas (4) PHP (20) Projects (29) pyth (1) Python (1061) Python Coding Challenge (461) Python Quiz (134) Python Tips (5) Questions (2) R (70) React (6) Scripting (3) security (3) Selenium Webdriver (4) Software (17) SQL (42) UX Research (1) web application (8) Web development (4) web scraping (2)

Followers

Python Coding for Kids ( Free Demo for Everyone)