Reputation: 1
I have to add a number and its reverse without using functions or strings. This is my code:
number = int(input("Enter your number: "))
revs_number = 0
while (number > 0):
remainder = number % 10
revs_number = (revs_number * 10) + remainder
number = number // 10
print("The reverse number is ", revs_number)
print(number + revs_number)
When I run this, the output is:
Enter your number: 56
The reverse number is 65
65
I tried everything I know but I couldn't add these two. I searched this forum too, couldn't find any solution without strings and functions. Can someone help me please? I really want to learn how because this took my time! Thanks in advance.
Upvotes: 0
Views: 96
Reputation: 412
number = int(input("Enter your number: "))
revs_number = 0
initial_num=number #copy your input, after while loop execution it will be 0
while (number > 0):
remainder = number % 10
revs_number = (revs_number * 10) + remainder
number = number // 10
print(number) #output 0
print("The reverse number is ", revs_number)
print(initial_num + revs_number)
Upvotes: 0
Reputation: 1
The variable number
is being modified in the loop. Assigning this to a new variable would solve this issue like here:
user_input = int(input("Enter your number: "))
number = user_input
revs_number = 0
while (number > 0):
remainder = number % 10
revs_number = (revs_number * 10) + remainder
number = number // 10
print("The reverse number is ", revs_number)
print(user_input + revs_number)
Hope this helps!
Upvotes: 0
Reputation: 320
Number
is 0 at the end of the while
loop, you need to store it in a temporary variable
number = int(input("Enter your number: "))
revs_number = 0
tmp = number
while (tmp > 0):
remainder = tmp % 10
revs_number = (revs_number * 10) + remainder
tmp = tmp // 10
print("The reverse number is ", revs_number)
print(number + revs_number)
Upvotes: 2