使用python脚本将十六进制,八进制数转换为十进制形式

Har*_*rma 4 python hex octal

有许多inbulit函数,如int(八进制),可用于在命令行上将八进制数转换为十进制数,但这些在脚本中不起作用.int(0671)在脚本中返回0671,其中它表示python命令行上的八进制数的十进制形式.救命???

谢谢

Ale*_*lli 12

这里有一些混乱 - 迂腐(和电脑一样,最好是迂腐;-),没有"八进制数字",有些字符串是数字的八进制表示(和其他字符串,更常见的是,它们是十进制表示,十六进制表示).底层数字(整数)与任何表示形式完全不同(默认情况下显示其十进制表示) - 例如:

>>> 2 + 2
4
>>> '2' + '2'
'22'
Run Code Online (Sandbox Code Playgroud)

引号表示字符串(即表示) - 并注意,它们本身与它们可能代表的数字无关.

所以,解释你的问题的一种方法是你想要将八进制表示转换为十进制表示(等) - 这将是:

>>> str(int('0671', 8))
'441'
Run Code Online (Sandbox Code Playgroud)

注意引用(表示字符串,即表示). int(s, 8)将字符串s转换为整数作为八进制表示(如果转换不起作用,则引发异常). str(n)生成数字的字符串形式n(正如我所提到的,默认情况下是十进制表示).