def bin_to_decimal(bin_string: str) -> int:"""Convert a binary value to its decimal equivalent>>> bin_to_decimal("101")5>>> bin_to_decimal(" 1010 ")10>>> bin_to_decimal("-11101")-29>>> bin_to_decimal("0")0>>> bin_to_decimal("a")Traceback (most recent call last):...ValueError: Non-binary value was passed to the function>>> bin_to_decimal("")Traceback (most recent call last):...ValueError: Empty string was passed to the function>>> bin_to_decimal("39")Traceback (most recent call last):...ValueError: Non-binary value was passed to the function"""bin_string = str(bin_string).strip()if not bin_string:raise ValueError("Empty string was passed to the function")is_negative = bin_string[0] == "-"if is_negative:bin_string = bin_string[1:]if not all(char in "01" for char in bin_string):raise ValueError("Non-binary value was passed to the function")decimal_number = 0for char in bin_string:decimal_number = 2 * decimal_number + int(char)return -decimal_number if is_negative else decimal_numberif __name__ == "__main__":from doctest import testmodtestmod()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。