Tuesday, 7 April 2026

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

 


Code Explanation:

1️⃣ Importing lru_cache
from functools import lru_cache

Explanation

Imports lru_cache from the functools module.
It is used for memoization (caching function results).

2️⃣ Applying Decorator
@lru_cache(None)

Explanation

This decorator caches results of function calls.
None means unlimited cache size.

๐Ÿ‘‰ So once a value is computed, it is stored and reused.

3️⃣ Defining Function
def f(n):

Explanation

Defines function f that takes input n.

4️⃣ Base Condition
if n <= 1:
    return n

Explanation

If n is 0 or 1, return n.
This is the base case of recursion.

5️⃣ Recursive Case
return f(n-1) + f(n-2)

Explanation

This is Fibonacci logic.
Computes:
f(n) = f(n-1) + f(n-2)

6️⃣ Calling Function
print(f(5))

Explanation

Calls f(5).
๐Ÿ”„ Execution (Step-by-Step)

Without cache:

f(5)
= f(4) + f(3)
= (f(3)+f(2)) + (f(2)+f(1))
= ...

๐Ÿ‘‰ Many repeated calls!

⚡ With lru_cache

Each value is computed once only:

Call Value
f(0) 0
f(1) 1
f(2) 1
f(3) 2
f(4) 3
f(5) 5

๐Ÿ“ค Final Output
5

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (237) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (28) Azure (10) BI (10) Books (262) Bootcamp (3) C (78) C# (12) C++ (83) Course (87) Coursera (300) Cybersecurity (30) data (5) Data Analysis (29) Data Analytics (21) data management (15) Data Science (339) Data Strucures (16) Deep Learning (144) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (19) Finance (10) flask (4) flutter (1) FPL (17) Generative AI (68) Git (10) Google (51) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (277) Meta (24) MICHIGAN (5) microsoft (11) Nvidia (8) Pandas (13) PHP (20) Projects (32) pytho (1) Python (1284) Python Coding Challenge (1124) Python Mistakes (50) Python Quiz (465) Python Tips (5) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (48) Udemy (18) UX Research (1) web application (11) Web development (8) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)