[Python]出力printで文字列と数値を一緒に出力する方法
python学習中です、というか今日から始めてます。
とりあえず本を買ってコードを書いているのですが、やっていると本に書いていることから、ほんのちょっとだけ違うことをやってみたくなり、結果エラーが出る、そんなことをやってます。
ということで「printで出力しようとしたときに、文字と数値を一緒に出力しようとするとエラーになったので、どうやったらいいのか」調べた内容を投稿。
結論
文字列と数値を一緒には出力できません。なので数値を文字列に型変換しましょう。
方法
「str(数値)」で数値を文字列(str型)に変換。
こんな感じ
【コード】
score = 0
print("現在のscoreは" + str(score) + "です")
print("socreを自由に追加してください")
score = input()
print("今のscoreは" + score + "です")
【結果】
現在のscoreは0です
socreを自由に追加してください
100
今のscoreは100です
問題発生と解決に至る経緯
①エラー発生
こんなコードを書いたところ
score = 1
print("現在のscoreは" + score + "です")
print("socreを自由に追加してください")
score = input()
print("今のscoreは" + score + "です")
こんなエラーがでました。
「str型には(int型ではなく)str型だけを連結できます」と書いてます。
Traceback (most recent call last):
File "C:/work/001_個人関連/勉強/python/chapter3/list0301_1kai.py", line 9, in <module>
print("現在のscoreは" + score + "です")
TypeError: can only concatenate str (not "int") to str
②お試し
こんな感じに変更してみました。
score = 0
print("現在のscoreは")
print(score)
print("です")
print("socreを自由に追加してください")
score = input()
print("今のscoreは" + score + "です")
成功しました。
現在のscoreは
0
です
socreを自由に追加してください
100
今のscoreは100です
なるほどなるほど。たしかに分けたら成功したので文字列と数値は一緒にはできないのね。
※最終行はそのままで通ったのでinput()で入った内容は文字列(str型)なのかと想定(今度また調査)
ということで、調べた結果冒頭の結論となりました。