2016-11-05 11 views
1

私はこの出力を取得し、なぜこの単一の引用符と中括弧は、出力のpython?

word = 'Rushiraj' 
length = 0 
for char in 'rushiraj': 
    length = length + 1 
print('There are', length,'character') 

を私はubantuバージョン16.04でノートブックをipython使用していると私はこのコードを実行します。 (「あり」、8、「文字」)

理由は何ですか出力のこの一重引用符と丸い括弧のために?そこにはいけません!

+2

あなたはPython 3用のコードを実行するためにPython 2を使用しています。 – zondo

+0

^これです。 'print 'を試してください'、length、 'character' 'があります。 –

答えて

4

出力は、Python 2を使用していますが、Python 3のprint構文を使用しているためです。Python 3では、printは関数で、 print(...))。

Python 2では、printがステートメントで、括弧を使用すると実際には最初の引数としてtupleが渡されます(タプルのPython表現を表示するため)。

これは2通りの方法で修正できます。

あなたはファイルの先頭にfrom __future__ import print_functionを追加する場合は、printが好き、それは、Python 3

代わりにないように、あなたはそれを呼び出すことができます動作します:あなたが印刷している

print 'There are', length,'character' 
+0

ありがとう!今私はそれを得た。 –

+0

python 2からどのようにpython 3に切り替えることができますか? @larsks –

+0

OK npありがとう@larsks –

0

をタプル(一見するとそのようには見えないかもしれませんが)出力はそのタプルのreprです。

+0

私は '__repr__'と呼ばれる印刷を言っていませんでした。私は出力がタプルのreprだと言った。 'tuple .__ str__'は単に' tuple .__ repr__'を呼び出します。 – KingRadical

関連する問題