Sunday, 13 July 2025

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


 1. Define Recursive Generator recurse(n)

def recurse(n):

    if n > 0:

        yield n

        yield from recurse(n - 1)

What it does:

It's a recursive generator function.

It takes a number n.

If n > 0, it does the following:

yield n – yields the current value of n.

yield from recurse(n - 1) – recursively calls itself with n - 1 and yields all values from that call.

2. Call and Convert to List

print(list(recurse(3)))

This line:

Calls recurse(3), which returns a generator.

Converts all values from that generator into a list.

Step-by-Step Execution

Let’s trace the recursion:

recurse(3):

Yields 3

Calls recurse(2)

recurse(2):

Yields 2

Calls recurse(1)

recurse(1):

Yields 1

Calls recurse(0)

recurse(0):

Base case: n is not greater than 0, so it yields nothing.

The Yields Accumulate as:

3 → 2 → 1

Final Output

[3, 2, 1]


0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (161) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (254) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (225) Data Strucures (14) Deep Learning (75) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (48) 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 (197) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1219) Python Coding Challenge (898) Python Quiz (348) 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)