You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现任意八进制字符串转十进制数的功能?

八进制字符串转十进制字符串实现方案

思路说明

你的整体思路方向是正确的,只需要调整两个细节:

  • 分割后的列表要作为循环遍历对象,而不是原始输入字符串
  • 计算数位权重时,八进制数最右侧的数位是8的0次方,需要从右往左计算数位位置,避免权重计算错误

完整代码实现

版本1:手动循环实现(符合你要求的for循环逻辑)

def oct_str_to_dec(oct_input: str) -> str:
    # 按空格分割输入为单个八进制字符串列表
    oct_items = oct_input.split()
    dec_result = []
    for oct_num in oct_items:
        current_dec = 0
        # 反转八进制字符串,从最低位开始遍历
        for pos, digit_char in enumerate(reversed(oct_num)):
            digit = int(digit_char)
            current_dec += digit * (8 ** pos)
        dec_result.append(str(current_dec))
    # 用空格拼接结果返回
    return ' '.join(dec_result)

版本2:内置方法简洁实现

Python的int()方法支持指定进制直接转换,代码更简洁:

def oct_str_to_dec(oct_input: str) -> str:
    return ' '.join(str(int(item, 8)) for item in oct_input.split())

测试示例

print(oct_str_to_dec("14 27")) # 输出 12 23
print(oct_str_to_dec("10")) # 输出 8
print(oct_str_to_dec("12 23")) # 输出 10 19

内容的提问来源于stack exchange,提问作者user7770390

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:06:02