【问题标题】:Convert any string of Octal numbers to decimal numbers in Python在 Python 中将任何八进制数字符串转换为十进制数
【发布时间】:2021-11-23 02:09:42
【问题描述】:

我正在尝试构建一个将任何八进制数(作为字符串输入)转换为十进制数的函数。任何数字都可以表示“10”或“14 27”。因此,对于带有空格的数字,我需要使用 .split() 并能够以相同格式为拆分字符串返回十进制值,因此“12 23”将是“14 27”的返回

该函数只能接受一个输入。

谁能帮助或建议我如何实现这一点?

我对代码的想法,伪代码,需要一个 for 循环(我假设有两个 for 循环,我是 Python 的初学者,所以道歉)

input = "12 23"

new_input = input.split()

for each number in the input:

  get the position of each digit
  
  for each digit in the number:

    multiply the digit by 8 to the power of its position

Return result of adding each digit

【问题讨论】:

  • 你想多了。将字符串拆分为单独的数字后,您可以使用 int(X, 8) 直接将它们从八进制转换。
  • 请在以后尝试自己的研究。我刚刚搜索了问题标题,that 是第二个结果。有关更多提示,请参阅How to Ask
  • 这只适用于不包含空格的数字,因此我问我的问题。

标签: python


【解决方案1】:

我认为列表理解最适合这项任务。

input = "12 23"
out = ' '.join([str(int(num, 8)) for num in input.split(' ')])
print(out)  # -> 10 19

这行得通吗?

【讨论】:

    猜你喜欢
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2021-04-22
    • 2011-03-31
    相关资源
    最近更新 更多