私はPythonには新しく、単純な印刷機能を書こうとしていますが、奇妙なエラーが発生しています。これは私のコードです:ValueError: 'str'型のオブジェクトのための不明な書式コード 'g'
#! /usr/bin/env python3.2
import numpy as np
a=np.arange(1,10,1)
print(a)
for i in a:
print(i)
print(type(i))
print("{0:<12g}".format(i))
出力は次のようになります。
[1 2 3 4 5 6 7 8 9]
1
<class 'numpy.int64'>
Traceback (most recent call last):
File "./test.py", line 9, in <module>
print("{0:<12g}".format(i))
ValueError: Unknown format code 'g' for object of type 'str'
はなぜ印刷は文字列として "numpy.int64" を取るのでしょうか?私はそれが正常なリストのために完全に働くと付け加えなければなりません:(例えば[1,2,3,4])私はこの問題に関するどんな考えにも感謝します;-)。
あなたは実際にPython 3.2を使用していませんか? Python 3にはnumpyの完成版はありません。また、Python 2.7とPython 32ビットをWindows上で再現することはできません(int32は 'int64'ではありません)。これはnumpyやPythonの特定のバージョン、または64ビットPythonに特有のものです。 – agf
私はPython 3.2.2を使用していますが、これはコマンドラインでpython3と入力すると、Pythonがその著作権表示の上に示していることです。 (私はLinuxを使用しています) – makhlaghi
'import sysを追加してください。このスクリプトが実際にどのバージョンで実行されているかを確認するには、コードにprint(sys.version)を実行してください。 – agf