2015-05-11 50 views

回答

15

您的号码p是实际而不是价值的表示。所以它实际上同时是65010,1212828a16,

如果你想看到它为八进制,只需使用:

print oct(p) 

按照以下成绩单:

>>> p = 01212 
>>> print p 
650 
>>> print oct(p) 
01212 

这对于Python 2中(你会因为你要使用使用八进制文字的0NNN变体而不是0oNNN)。

的Python 3有一个稍微不同的表示:

>>> p = 0o1212 
>>> print (p) 
650 
>>> print (oct(p)) 
0o1212 
+0

在python3有轻微的修改 – Ajay

+0

TKS你的答案兄弟,我解决我的问题 – maphongba008

+0

@Ajay,虽然我相信OP仍在使用Py2,但添加了Py3的东西。仍然很高兴知道。 – paxdiablo

6

一种方式是USSE从Format Mini Specification Languageo格式字符:

实施例:

>>> x = 01212 
>>> print "0{0:o}".format(x) 
01212 

'O' 的八进制格式。在产出基地数量8

注:您还必须预先考虑0除非你使用内置函数oct())。

更新:如果您正在使用Python 3+:

$ python3.4 
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> x = 01212 
    File "<stdin>", line 1 
    x = 01212 
      ^
SyntaxError: invalid token 
>>> x = 0o1212 
>>> print(oct(x)) 
0o1212 
>>> print("0o{0:o}".format(x)) 
0o1212 
+0

TKS你的答案兄弟,我解决我的问题 – maphongba008

相关问题