diff --git a/conversions/octal_to_binary.py b/conversions/octal_to_binary.py index 0e9f037ac..64f205d37 100644 --- a/conversions/octal_to_binary.py +++ b/conversions/octal_to_binary.py @@ -1,63 +1,63 @@ -def octal_to_binary(octal:str) -> str: +def octal_to_binary(octal: str) -> str: + """ + Convert an octal value to its binary equivalent + + >>> octal_to_binary("") + Traceback (most recent call last): + ... + ValueError: Empty string was passed to the function + >>> octal_to_binary("-") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary("e") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary(8) + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary("-e") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary("-8") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary("1") + '0b1' + >>> octal_to_binary("-1") + '-0b1' + >>> octal_to_binary("12") + '0b1010' + >>> octal_to_binary(" 12 ") + '0b1010' + >>> octal_to_binary("-45") + '-0b100101' + >>> octal_to_binary("-") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary("0") + '0b0' + >>> octal_to_binary("-4055") + '-0b100000101101' + >>> octal_to_binary("2-0Fm") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function + >>> octal_to_binary("") + Traceback (most recent call last): + ... + ValueError: Empty string was passed to the function + >>> octal_to_binary("19") + Traceback (most recent call last): + ... + ValueError: Non-octal value was passed to the function """ - Convert an octal value to its binary equivalent - >>> octal_to_binary("") - Traceback (most recent call last): - ... - ValueError: Empty string was passed to the function - >>> octal_to_binary("-") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary("e") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary(8) - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary("-e") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary("-8") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary("1") - '0b1' - >>> octal_to_binary("-1") - '-0b1' - >>> octal_to_binary("12") - '0b1010' - >>> octal_to_binary(" 12 ") - '0b1010' - >>> octal_to_binary("-45") - '-0b100101' - >>> octal_to_binary("-") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary("0") - '0b0' - >>> octal_to_binary("-4055") - '-0b100000101101' - >>> octal_to_binary("2-0Fm") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - >>> octal_to_binary("") - Traceback (most recent call last): - ... - ValueError: Empty string was passed to the function - >>> octal_to_binary("19") - Traceback (most recent call last): - ... - ValueError: Non-octal value was passed to the function - """ - oct_string = str(octal).strip() if not oct_string: raise ValueError("Empty string was passed to the function") @@ -75,7 +75,7 @@ def octal_to_binary(octal:str) -> str: # Converting Decimal to Binary if decimal_number == 0: return "0b0" - + negative = False if decimal_number < 0: negative = True @@ -91,6 +91,8 @@ def octal_to_binary(octal:str) -> str: return "0b" + "".join(str(e) for e in binary) + if __name__ == "__main__": from doctest import testmod + testmod()