Thursday, 5 December 2024

Functions : What will this code output?

 


def my_generator():

    for i in range(3):

        yield i

gen = my_generator()

print(next(gen))

print(next(gen))


Explanation:

  1. my_generator():
    • This defines a generator function that yields values from 0 to 2 (range(3)).
  2. gen = my_generator():
    • Creates a generator object gen.
  3. print(next(gen)):
    • The first call to next(gen) will execute the generator until the first yield statement.
    • i = 0 is yielded and printed: 0.
  4. print(next(gen)):
    • The second call to next(gen) resumes execution from where it stopped.
    • The next value i = 1 is yielded and printed: 1.

Output:

0
1


If you call next(gen) again, it will yield 2. A fourth call to next(gen) would raise a StopIteration exception because the generator is exhausted.

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (28) AI (33) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (173) C (77) C# (12) C++ (82) Course (67) Coursera (223) Cybersecurity (24) data management (11) Data Science (127) Data Strucures (8) Deep Learning (20) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (34) Hadoop (3) HTML&CSS (47) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (59) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (1) Pandas (4) PHP (20) Projects (29) Python (923) Python Coding Challenge (318) Python Quiz (4) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (42) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses