添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在Python中用(字符串)输入的八进制转十进制

0 人关注

我被一些代码所困。我试图写一个函数,将八进制转换为十进制,接受一个包含八进制数据的字符串(一个单一的数字或由空格分隔的数字序列),使用循环和逻辑,返回一个包含一个或多个由空格分隔的十进制数字的字符串。

到目前为止,我有。

def decode(code):
  decimal = 0
  code = code.split(" ")
  l = len(code) 
  for i in range (l):
    octal = len(i)
    for x in range (octal):
      digit_position = x - 1
      decimal += pow(8, digit_position) * int(x)
result = str(decimal)

产生了一个错误。有什么想法吗?

4 个评论
什么错误?请公布完整的跟踪记录。
代码是否为整数,如果是,你就不能使用split()。
我们能有预期的产出吗?
另外 octal = len(i) 你不能找到一个整数的长度。
python
catcoder7
catcoder7
发布于 2022-09-19
2 个回答
The Thonnu
The Thonnu
发布于 2022-09-19
已采纳
0 人赞同

int 需要一个可选的第二个参数(默认为10):要转换的数字的基数。在这里,你可以直接使用。

def decode(code):
    return str(int(code, 8)).replace("", " ")
    
Karol Milewczyk
Karol Milewczyk
发布于 2022-09-19
0 人赞同

在代码的注释中进行解释。