Wednesday, 25 June 2025

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

 


Code Explanation:

1. Function Definition
def tricky(val, result=[]):
Defines a function tricky with:
val: the value to add to a list.
result=[]: a default argument that is a mutable list.

2. Appending to the List
    result += [val]
result += [val] is equivalent to result.extend([val]).
It modifies the list in place, rather than creating a new list.

3. Return Statement
    return result
Returns the modified result list.

4. Function Calls & Output
print(tricky(1))
First call: val=1, result=[] (default list used).
result += [1] → result becomes [1].

Returns: [1].
print(tricky(2))
Second call: val=2, result is still the same list used in the first call ([1]).
result += [2] → result becomes [1, 2].
Returns: [1, 2].
print(tricky(3, []))
This time, a new list is passed explicitly as result=[].
result += [3] → becomes [3].
Returns: [3].

print(tricky(4))
Again, uses the original default list, which was mutated to [1, 2].
result += [4] → becomes [1, 2, 4].
Returns: [1, 2, 4].

Final Output
[1] [1, 2] [3] [1, 2, 4]

Download Book - 500 Days Python Coding Challenges with Explanation

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (152) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (251) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (298) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (217) Data Strucures (13) Deep Learning (68) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (47) 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 (186) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (11) PHP (20) Projects (32) Python (1218) Python Coding Challenge (884) Python Quiz (342) 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)