@@ -52,14 +52,14 @@ def decimal_to_binary_iterative(num: int) -> str:
52
52
return "0b" + "" .join (str (e ) for e in binary )
53
53
54
54
55
- def decimal_to_binary_recursive (decimal : int ) -> str :
55
+ def decimal_to_binary_recursive_helper (decimal : int ) -> str :
56
56
"""
57
57
Take a positive integer value and return its binary equivalent.
58
- >>> decimal_to_binary_recursive (1000)
58
+ >>> decimal_to_binary_recursive_helper (1000)
59
59
'1111101000'
60
- >>> decimal_to_binary_recursive ("72")
60
+ >>> decimal_to_binary_recursive_helper ("72")
61
61
'1001000'
62
- >>> decimal_to_binary_recursive ("number")
62
+ >>> decimal_to_binary_recursive_helper ("number")
63
63
Traceback (most recent call last):
64
64
...
65
65
ValueError: invalid literal for int() with base 10: 'number'
@@ -68,25 +68,25 @@ def decimal_to_binary_recursive(decimal: int) -> str:
68
68
if decimal in (0 , 1 ): # Exit cases for the recursion
69
69
return str (decimal )
70
70
div , mod = divmod (decimal , 2 )
71
- return decimal_to_binary_recursive (div ) + str (mod )
71
+ return decimal_to_binary_recursive_helper (div ) + str (mod )
72
72
73
73
74
- def decimal_to_binary_recursive_main (number : str ) -> str :
74
+ def decimal_to_binary_recursive (number : str ) -> str :
75
75
"""
76
76
Take an integer value and raise ValueError for wrong inputs,
77
77
call the function above and return the output with prefix "0b" & "-0b"
78
78
for positive and negative integers respectively.
79
- >>> decimal_to_binary_recursive_main (0)
79
+ >>> decimal_to_binary_recursive (0)
80
80
'0b0'
81
- >>> decimal_to_binary_recursive_main (40)
81
+ >>> decimal_to_binary_recursive (40)
82
82
'0b101000'
83
- >>> decimal_to_binary_recursive_main (-40)
83
+ >>> decimal_to_binary_recursive (-40)
84
84
'-0b101000'
85
- >>> decimal_to_binary_recursive_main (40.8)
85
+ >>> decimal_to_binary_recursive (40.8)
86
86
Traceback (most recent call last):
87
87
...
88
88
ValueError: Input value is not an integer
89
- >>> decimal_to_binary_recursive_main ("forty")
89
+ >>> decimal_to_binary_recursive ("forty")
90
90
Traceback (most recent call last):
91
91
...
92
92
ValueError: Input value is not an integer
@@ -98,12 +98,12 @@ def decimal_to_binary_recursive_main(number: str) -> str:
98
98
number = number .lstrip ("-" )
99
99
if not number .isnumeric ():
100
100
raise ValueError ("Input value is not an integer" )
101
- return f"{ negative } 0b{ decimal_to_binary_recursive (int (number ))} "
101
+ return f"{ negative } 0b{ decimal_to_binary_recursive_helper (int (number ))} "
102
102
103
103
104
104
if __name__ == "__main__" :
105
105
import doctest
106
106
107
107
doctest .testmod ()
108
108
109
- print (decimal_to_binary_recursive_main (input ("Input a decimal number: " )))
109
+ print (decimal_to_binary_recursive (input ("Input a decimal number: " )))
0 commit comments