2016-03-23 18 views
1

次作品のPython 3と同等のPython 2で

print ("|").center(11,'-') 

私は、Python 3で同じコードをしようとすると、私は次のようなエラーメッセージを得る:

AttributeError: 'NoneType' object has no attribute 'center'

1は、どのように行うだろうしPython 3でも同じですか? Pythonの3 print

+0

FWIW: 括弧のもう一つのペアを追加し' '{ -^11}。フォーマット '( '中心') – mgilson

答えて

5
>>> print("|".center(11, '-')) 
-----|----- 

あなたが内部のセンタリングを行う必要がありますので、機能である - そう、あなたはprintの戻り値にそれを呼び出すと思います。


また、Pythonの2に、あなたは、すべてそこに括弧を置くべきではありません。

>>> print "|".center(11, '-') 
-----|----- 

それは括弧で動作する理由は(foo)fooは同じものであるということです。

Python 2とPython 3の両方で動作させるもう1つのオプションは、ファイルの先頭にfrom __future__ import print_functionを追加し、Python 3構文を使用することです。

1

print関数なので、Python 3のコードはprint関数の戻り値(None)でcenter()を呼び出しています。 `.format`方法を使用してあなたも中央でき、

print(("|").center(11,'-')) 
関連する問題