【发布时间】: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