提交时间:2026-03-06 15:16:47

运行 ID: 85156

def octal_to_decimal(octal_str): """ 将八进制字符串转换为十进制数 Args: octal_str (str): 八进制数字符串 Returns: int: 对应的十进制数 Raises: ValueError: 当输入包含非八进制字符时抛出异常 """ # 验证输入是否只包含有效的八进制字符(0-7) for char in octal_str: if char not in '01234567': raise ValueError("输入包含非八进制字符") decimal_value = 0 power = 0 # 从右到左处理每一位八进制数字 for i in range(len(octal_str) - 1, -1, -1): digit = int(octal_str[i]) decimal_value += digit * (8 ** power) power += 1 return decimal_value def main(): """ 主函数:读取输入并输出转换结果 """ try: # 读取用户输入的八进制数 octal_input = input().strip() # 验证输入不为空 if not octal_input: print("输入不能为空") return # 转换八进制到十进制 decimal_result = octal_to_decimal(octal_input) print(decimal_result) except ValueError as e: print(f"输入错误: {e}") except Exception as e: print(f"发生未知错误: {e}") if __name__ == "__main__": main()