文字と数字をつなげよう
文字と数字を + でつなげようとすると、Pythonはエラーを出します。文字と数字は別の種類だからです。str() という命令で数字を文字に変えれば、つなげられるようになります。
🧠 できるようになること
- 文字と数字は別の型だと知る
str()で数字を文字に変えられる+で文字列をつなげられる
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- Trinket(https://trinket.io/python)
🖼 できあがり
「年齢は12才です」のような、文字と数字が混ざったメッセージが表示されます。str(age) で年齢を文字に変えてから + でつなぎます。
📺 実行結果
わたしの名前はラボくんです 年齢は12才です 10年後は22才です
🚀 やりかた
name = "ラボくん"age = 12と変数を用意します。print("わたしの名前は" + name + "です")で文字同士をつなぎます。- 数字をつなぐときは
str(age)で文字に変えます:print("年齢は" + str(age) + "才です") - Run して、3つのメッセージが出るか確認します。
🐍 きょうのコード
Python
main.py
name = "ラボくん"
age = 12
print("わたしの名前は" + name + "です")
print("年齢は" + str(age) + "才です")
print("10年後は" + str(age + 10) + "才です")
上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。
💡 きょうのポイント
Pythonは 文字と数字を別物として扱います。+ でつなげるには両方とも文字でなければなりません。str(数字) で数字を文字に変換できます。
🎮 チャレンジ
- 「わたしは○○才で、好きな食べ物は□□です」というメッセージを変数で作ろう
str()なしで"年齢は" + ageと書くと、どんなエラーが出る?試してみよう- 計算結果(
age + 10)を文字に変換してメッセージに入れよう
🔁 ふりかえり
- なぜPythonは文字と数字を別物として扱うのだろう?
str()はどんな仕事をする命令だった?- 次の回ではもっと簡単な書き方(f-string)が出てきます。期待しよう
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:
TypeError: can only concatenate str (not "int") to strというエラーが出やすい回です。まずTypeErrorを「種類が合っていないエラー」と読み、次にstrとintを見つけて「文字と数字はそのままつなげない」と確認します。 - 声かけ例:「Pythonは文字と数字をきっちり区別する厳しい子。でも
str()という変換マシンがあるから大丈夫」と伝えると安心します。