Saturday, 3 February 2024

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

 


Code :

def sum(num):
    if num == 1:
        return 1
    return num + sum(num - 1)
print(sum(5))


Solution and Explanation:


Here's how the function works:

The function sum takes a parameter num.
The base case is defined with if num == 1:. If num is 1, the function returns 1.
If the base case is not met, the function returns num + sum(num - 1). This is the recursive step, where the sum of the current num and the sum of the numbers from 1 to num - 1 is calculated.
The print(sum(5)) statement calls the sum function with the argument 5 and prints the result.
Let's trace the function call for sum(5):

sum(5) returns 5 + sum(4)
sum(4) returns 4 + sum(3)
sum(3) returns 3 + sum(2)
sum(2) returns 2 + sum(1)
sum(1) returns 1 (base case)
Now we substitute these values back:

sum(2) returns 2 + 1 = 3
sum(3) returns 3 + 3 = 6
sum(4) returns 4 + 6 = 10
sum(5) returns 5 + 10 = 15
So, the final result printed by print(sum(5)) is 15.

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 (358) Python Quiz (23) 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