* Our objective is to find the sum of given digits i.e.; 2+4+3=9
# sum of given digits code:--
n = int(input('Enter number:'))
sum =0
while n>0:
sum = sum + (n%10)
n = n//10
print('Sum of digits=', sum)
# Output: Enter number:243
Sum of digits= 9
>> Lets look at the program--
1) First we'll take an input from the user
Say n = 243
2) Secondly, we'll initialize the variable
sum = 0
3) We'll build a loop
i.e.; while n>0:
4) Now we'll build our logic as
sum = sum + (n%10) ----eq.1
>> Lets see how this logic works--
Here, at the R.H.S we have
sum + (n%10) ----from eq.1
Since we have sum=0 and n=243
Therefore, sum + (n%10) = 0 + (243%10)
>> When we divide 243/10 we get the remainder as 3. That is what 243%10 is doing here.
= 0 + (3)
sum = 3
>> We have fetched the last digit from the given number. But now we want the number next to it.
5) Therefore, n = n//10
>> When we perform a simple division on a given number--
Say 243/10 = 24.3
>> But here, we are doing floor division which helps us to exclude the digit after the decimal.
i.e.; 243//10 = 24
>> Therefore, n = n//10 is equivalent to n = 24.
6) Now since n = 24 the pointer will go to the while loop. It will check the condition.
while n>0
i.e.; 24>0
>> Since the condition fulfills it will again repeat the same procedure (from step 4 to 5)
7) Here, sum = 3+4
= 7
And, n = n//10
= 2
* For more clarity look at the step-by-step cases--
n = 243
sum = 0
• while (n>0):
sum = sum + (n%10)
= 0 + (243%10=)3
= 0 + 3
sum = 3
n = n//10
= (243//10=)24
n = 24
• while (n>0):
sum = sum + (n%10)
= 3 + (24%10=)4
= 3 + 4
sum = 7
n = n//10
= (24//10=)2
n = 2
• while (n>0):
sum = sum + (n%10)
= 7 + (2%10=)2
= 7 + 2
sum = 9
n = n//10
= (2//10=)0
n = 0
>> And here the loop will get terminated coz '0' is not greater than '0' as per our condition(viz while n>0).
>> So the pointer will come out of the loop and the print statement will execute. Executing the desired result.
* Our objective is to find the product of given digits i.e.; 2*4*3= 24
# product of given digits:--
n = int(input('Enter number:'))
product = 1
while n >1:
product = product * (n%10)
n = n//10
print('Product of digits=', product)
# Output : Enter number:243
Product of digits= 24
>> For finding the product of given digits, we just need to change the variable to product =1.
>> Coz here we need to multiple the digits and if we multiply the digits by 0 the result for every number will be 0.
* For simple calculator visit link: click here
Comments
Post a Comment