File tree Expand file tree Collapse file tree 5 files changed +108
-0
lines changed
Logic Building/Write a program to reverse digits of a number Expand file tree Collapse file tree 5 files changed +108
-0
lines changed Original file line number Diff line number Diff line change
1
+ """ Reversing Digit by Digit """
2
+ def reverse_digits (n : int ) -> int :
3
+ """
4
+ >>> reverse_digits(1234)
5
+ 4321
6
+ >>> reverse_digits(0)
7
+ 0
8
+ >>> reverse_digits(1000)
9
+ 1
10
+ >>> reverse_digits(987654321)
11
+ 123456789
12
+ """
13
+ reversed_number = 0
14
+ while n > 0 :
15
+ digit = n % 10
16
+ reversed_number = reversed_number * 10 + digit
17
+ n //= 10
18
+ return reversed_number
19
+ if __name__ == "__main__" :
20
+ from doctest import testmod
21
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ """ Using rescursion """
2
+
3
+
4
+ def reverse_digits (n : int , reversed_number : list [int ], base_position : list [int ]) -> int :
5
+ """
6
+ >>> reverse_number = [0] # must be [0]
7
+ >>> base_position = [1] # must be [1]
8
+ >>> reverse_digits(1234, reverse_number, base_position)
9
+ 4321
10
+ >>> reverse_number = [0] # must be [0]
11
+ >>> base_position = [1] # must be [1]
12
+ >>> reverse_digits(0, reverse_number, base_position)
13
+ 0
14
+ >>> reverse_number = [0] # must be [0]
15
+ >>> base_position = [1] # must be [1]
16
+ >>> reverse_digits(1000, reverse_number, base_position)
17
+ 1
18
+ >>> reverse_number = [0] # must be [0]
19
+ >>> base_position = [1] # must be [1]
20
+ >>> reverse_digits(987654321, reverse_number, base_position)
21
+ 123456789
22
+ """
23
+ if n > 0 :
24
+ reverse_digits (n // 10 , reversed_number , base_position )
25
+ reversed_number [0 ] += (n % 10 ) * base_position [0 ]
26
+ base_position [0 ] *= 10
27
+ return reversed_number [0 ]
28
+
29
+
30
+ if __name__ == "__main__" :
31
+ from doctest import testmod
32
+
33
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ """Using String"""
2
+
3
+
4
+ def reverse_digits (n : int ) -> int :
5
+ """
6
+ >>> reverse_digits(1234)
7
+ 4321
8
+ >>> reverse_digits(0)
9
+ 0
10
+ >>> reverse_digits(1000)
11
+ 1
12
+ >>> reverse_digits(987654321)
13
+ 123456789
14
+ """
15
+ s : str = str (n )
16
+ digits : list [str ] = list (s )
17
+ digits .reverse ()
18
+ reversed_number = int ("" .join (digits ))
19
+
20
+ return reversed_number
21
+
22
+ if __name__ == "__main__" :
23
+ from doctest import testmod
24
+
25
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ """ Using String and Slicing in Python """
2
+
3
+
4
+ # for python only
5
+ def reverse_digits_2 (n : int ) -> int :
6
+ """
7
+ >>> reverse_digits_2(1234)
8
+ 4321
9
+ >>> reverse_digits_2(0)
10
+ 0
11
+ >>> reverse_digits_2(1000)
12
+ 1
13
+ >>> reverse_digits_2(987654321)
14
+ 123456789
15
+ """
16
+ s : str = str (n )
17
+ s_reversed : str = s [::- 1 ]
18
+ reversed_number = int (s_reversed )
19
+ return reversed_number
20
+
21
+ if __name__ == "__main__" :
22
+ from doctest import testmod
23
+
24
+ testmod (verbose = True )
Original file line number Diff line number Diff line change
1
+ ## reverse_digits_of_number Method
2
+ - Reversing Digit by Digit
3
+ - Using rescursion
4
+ - Using String
5
+ - Using String and Slicing in Python
You can’t perform that action at this time.
0 commit comments