Python Challenges: Reverse the digits of an integer
Python Challenges - 1: Exercise-18 with Solution
Write a Python program to reverse the digits of an integer.
Explanation:
Sample Example:
Input : 234
Input : -234
Output: 432
Output : -432
Sample Solution-1:
Python Code:
def reverse_integer(x):
sign = -1 if x < 0 else 1
x *= sign
# Remove leading zero in the reversed integer
while x:
if x % 10 == 0:
x /= 10
else:
break
# string manipulation
x = str(x)
lst = list(x) # list('234') returns ['2', '3', '4']
lst.reverse()
x = "".join(lst)
x = int(x)
return sign*x
print(reverse_integer(234))
print(reverse_integer(-234))
Sample Output:
432 -432
Flowchart:
Sample Solution-2:
Reverses a number:
- Use str() to convert the number to a string, slice notation to reverse it and str.replace() to remove the sign.
- Use float() to convert the result to a number and math.copysign() to copy the original sign.
Python Code:
from math import copysign
def reverse_number(n):
return copysign(float(str(n)[::-1].replace('-', '')), n)
print(reverse_number(873))
print(reverse_number(-900))
print(reverse_number(234.6))
print(reverse_number(-15.78))
Sample Output:
378.0 -9.0 6.432 -87.51
Flowchart:
Python Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Python program to find whether it contains an additive sequence or not.
Next: Write a Python program to reverse the bits of an integer (32 bits unsigned).
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/python-exercises/challenges/1/python-challenges-1-exercise-18.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics