2017-03-29 10 views
-2

私は次のスクリプト書いた:文字列と整数変数を一緒にプリントするには?

string="My name" 
age=19 
print(string +str(age)) 

をしかし、これはというエラー与える:

"str object is not callable". 

私は型キャストして印刷するのに役立ちます。

+0

あなたのコードは正確ですか?それはあなたが望むものを正確に行うべきだからです。 – glibdud

+5

あなたは 'str'どこかに割り当てました。 'del str'を先に実行して、もう一度やり直してください。 –

+0

@ayhanこれを次のように削除してください:http://stackoverflow.com/questions/30591182/how-to-fix-redefinition-of-str?noredirect=1&lq=1、私は既に投票に投票して以来できませんタイプミスとして。 –

答えて

0

formatting stringsを試してみてください:あなたは何か他のものに機能strに建てられた再割り当てているよう

print(f'{string} {age}')

+0

これはこれまで私が見たことのないフォーマットであり、あなたのリンクには記述されていません。 – glibdud

+0

Python 3.6で新しく書かれた書式文字列を、Pythonの最新のリリースを使用していない可能性が最も高い新しいユーザーに提案することをお勧めします。 –

+0

私たちはいつもpython 2.7をインストールするために新しいユーザーを提案することができ、まず古いバージョンを使用します。しかし、あなたはポイントがあります! – Butuzov

1

コメントで述べたように、それが見えます。それを見つけて削除すると、コードが機能するはずです。

python3print()関数では、,で引数を文字列にキャストしようとします。ここに見られるように:

print(string, age) 

はあなたのための文字列にageをキャストします。

0

ここでString.formatを利用できます。

print ("{0} {1}".format(string, age)) 

この結果は以下の通りである。

My name 19 

この方法を使用すると、出力の可読性を向上させることもできます。

print ("Name: {0} age: {1}".format(string, age) 

この結果、次のような結果になります。

Name: My Name age: 19 
関連する問題