0

Python で 030 のような数字を 30 として認識させたいのですが、なぜか "print 030" と書くと 24 を返し、"print 020" と書くと 16 を返します。

ありがとう

4

4 に答える 4

2

30として扱うにはどうすればよいですか?

普通に書く30か、この数値を文字列として受け入れる場合は、

>>> int('030')
30

期待どおりに動作します。

于 2013-06-23T13:21:08.040 に答える
0

ほとんどの言語は 0 で始まる数値を 8 進数として扱うため、30 8 進数 = 3 * 8 = 24

于 2013-06-23T13:18:18.467 に答える
0

先頭の 0 は、「8 進数」形式、つまり基数 8 であることを示します。

print "0{}".format(30)

--output:--
030

30として扱うにはどうすればよいですか?

Python 2.x に 030 を 30 として扱わせることはできません。

于 2013-06-23T13:12:44.490 に答える
0

私が考えることができる1つの方法はこれです。

n='030'
n=n[1:]
n=int(n)

これで n は整数 30 のように扱える数になりました

于 2013-06-23T13:20:31.457 に答える