Monday, 27 January 2025

Python Coding Challange - Question With Answer(01270125)

 


Explanation

The first step in understanding what is going on in this wacky code is to take a look at what

 has to say about using return with yield:

return expr in a generator causes StopIteration(expr) to be raised upon exit from the generator.

In this case, StopIteration is raised at the beginning of my_func() due to the return statement

inside the function being called. Your code catches the StopIteration exception inside the list()

function at the end of the code.

Because an exception is raised, ["Python"] is not returned, so the list() function returns an empty

list.

If you’d like to get ["Python"] out of your code, you would need to modify the call to use the next()

function wrapped in an exception handler:


1 def my_func(value):

2 if value == 5:

3 return ["Python"]

4 else:

5 yield from range(value)

6

7 try:

8 next(my_func(5))

9 except StopIteration as exception:

10 print(f"StopIteration caught! {exception.value = }")

This code removes the call to list(), which will automatically catch the StopIteration exception

and uses the next() function instead. The next() function does not catch StopIteration, so you

wrap that call with Python’s try / except construct to catch that exception yourself.

To get the value of the exception, you can access the exception object’s value attribute.

Output : []

0 Comments:

Post a Comment

Popular Posts

Categories

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

Followers

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

Python Coding for Kids ( Free Demo for Everyone)