| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 85156 | sh25_wangtaojie | 八进制转十进制数 | Python3 | 通过 | 30 MS | 3724 KB | 1439 | 2026-03-06 15:16:47 |
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()