Skip to content

Commit 87c53d2

Browse files
committed
refactor(decimal-to-binary): Rename main and helper recursive
1 parent 2d1ba1b commit 87c53d2

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

conversions/decimal_to_binary.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,14 @@ def decimal_to_binary_iterative(num: int) -> str:
5252
return "0b" + "".join(str(e) for e in binary)
5353

5454

55-
def decimal_to_binary_recursive(decimal: int) -> str:
55+
def decimal_to_binary_recursive_helper(decimal: int) -> str:
5656
"""
5757
Take a positive integer value and return its binary equivalent.
58-
>>> decimal_to_binary_recursive(1000)
58+
>>> decimal_to_binary_recursive_helper(1000)
5959
'1111101000'
60-
>>> decimal_to_binary_recursive("72")
60+
>>> decimal_to_binary_recursive_helper("72")
6161
'1001000'
62-
>>> decimal_to_binary_recursive("number")
62+
>>> decimal_to_binary_recursive_helper("number")
6363
Traceback (most recent call last):
6464
...
6565
ValueError: invalid literal for int() with base 10: 'number'
@@ -68,25 +68,25 @@ def decimal_to_binary_recursive(decimal: int) -> str:
6868
if decimal in (0, 1): # Exit cases for the recursion
6969
return str(decimal)
7070
div, mod = divmod(decimal, 2)
71-
return decimal_to_binary_recursive(div) + str(mod)
71+
return decimal_to_binary_recursive_helper(div) + str(mod)
7272

7373

74-
def decimal_to_binary_recursive_main(number: str) -> str:
74+
def decimal_to_binary_recursive(number: str) -> str:
7575
"""
7676
Take an integer value and raise ValueError for wrong inputs,
7777
call the function above and return the output with prefix "0b" & "-0b"
7878
for positive and negative integers respectively.
79-
>>> decimal_to_binary_recursive_main(0)
79+
>>> decimal_to_binary_recursive(0)
8080
'0b0'
81-
>>> decimal_to_binary_recursive_main(40)
81+
>>> decimal_to_binary_recursive(40)
8282
'0b101000'
83-
>>> decimal_to_binary_recursive_main(-40)
83+
>>> decimal_to_binary_recursive(-40)
8484
'-0b101000'
85-
>>> decimal_to_binary_recursive_main(40.8)
85+
>>> decimal_to_binary_recursive(40.8)
8686
Traceback (most recent call last):
8787
...
8888
ValueError: Input value is not an integer
89-
>>> decimal_to_binary_recursive_main("forty")
89+
>>> decimal_to_binary_recursive("forty")
9090
Traceback (most recent call last):
9191
...
9292
ValueError: Input value is not an integer
@@ -98,12 +98,12 @@ def decimal_to_binary_recursive_main(number: str) -> str:
9898
number = number.lstrip("-")
9999
if not number.isnumeric():
100100
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))}"
102102

103103

104104
if __name__ == "__main__":
105105
import doctest
106106

107107
doctest.testmod()
108108

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

Comments
 (0)