Lowest price ever! Learn Generative AI for 48% less!
Get my discount+ 10
The logic can be understood easily if you break down the steps as follows:
Initially,
reverse = 0, number = 3461
In order to get 1643, we need to get the last digits in each step.
1 -> 16 -> 164 -> 1643
Step 1: We need to make it 1
-> remainder = number % 10
= 3461 % 10 = 1
-> number = number // 10
= 3461//10 = 346
-> reverse = reverse * 10 + remainder
= 0*10+1 = 1
Step 2: We need 16
-> remainder = 346 % 10 = 6
-> number = 346//10 = 34
-> reverse = 1*10+6 = 16
Step 3: We need 164
-> remainder = 34 % 10 = 4
-> number = 34//10 = 3
-> reverse = 16*10+4 = 164
Step 4: We need 1643
-> remainder = 3 % 10 = 3
-> number = 3//10 = 0
-> reverse = 164*10+3 = 1643
step 5: number is 0 now, that means (number > 0) this condition will be false. So we should stop the loop. We've got reverse = 1643.
+ 3
hey I guess no need of any complexity, the codes given are brilliant but the problem can be solved in much easier way as,
>> number = input()
>> print(number[::-1])
thats it, you can reverse any input given :)
+ 3
Nice Laxmikant 😊😊👍👍👌👌👌
+ 2
Your code is correct except for the indentation and the print statement in the last line. And you want to output Reverse, not Number.
Number= int (input("enter number"))
Reverse= 0
while (Number>0):
Remainder= Number%10
Reverse= (Reverse*10)+ Remainder
Number= Number//10
print ("\nReverse of enter number is", Reverse)
+ 2
@Laxmikant, nice one ;)
But for, 00123 as input, the output would be 32100 !!
I've modified your code a bit,
num = str(int(input()))
print(num[::-1]) # Now it's safe to use
+ 1
Fine ,I'll read it thoroughly