Friday, 12 April 2024

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

 

Code:

def fun(x, y):

    if x == 0:

        return y

    else:

        return fun(x - 1, x * y)

print(fun(3, 5))

Solution and Explanation: 

Let's break down the provided Python function fun(x, y) and an example call print(fun(3, 5)):

def fun(x, y):
    if x == 0:
        return y
    else:
        return fun(x - 1, x * y)

print(fun(3, 5))
Function Definition:

The function fun(x, y) takes two parameters, x and y.
Base Case:

The function checks if x is equal to 0. If it is, the function returns y. This serves as the base case for the recursive function.
Recursive Case:

If x is not equal to 0, the function calls itself recursively with x - 1 and x * y.
Recursion:

The function keeps calling itself with a decremented x until x becomes 0, each time multiplying y by the current value of x.
Example Call:

print(fun(3, 5)) calls the fun function with x = 3 and y = 5.
The function first checks if x is 0. Since it's not, it enters the recursive case.
It calls fun(2, 3 * 5), then fun(1, 2 * (3 * 5)), and finally fun(0, 1 * (2 * (3 * 5))).
When x becomes 0, it returns the accumulated value of y, which is 2 * (3 * 5) = 30.
So, the output of print(fun(3, 5)) will be 30.

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (53) AI (34) 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 (226) Cybersecurity (24) data management (11) Data Science (128) 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 (3) Pandas (4) PHP (20) Projects (29) Python (932) Python Coding Challenge (363) Python Quiz (24) Python Tips (2) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (3) Software (17) SQL (42) UX Research (1) web application (8) Web development (2) web scraping (2)

Followers

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