デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第9回 Lv0 ⏱ 15〜20分

文字と数字をつなげよう

🎯 きょうのミッション

文字と数字を + でつなげようとすると、Pythonはエラーを出します。文字と数字は別の種類だからです。str() という命令で数字を文字に変えれば、つなげられるようになります。

🧠 できるようになること

  • 文字と数字は別のかただと知る
  • str() で数字を文字に変えられる
  • + で文字列をつなげられる

🧰 用意するもの

🖼 できあがり

「年齢は12才です」のような、文字と数字が混ざったメッセージが表示されます。str(age) で年齢を文字に変えてから + でつなぎます。

📺 実行結果
わたしの名前はラボくんです
年齢は12才です
10年後は22才です

🚀 やりかた

  1. name = "ラボくん" age = 12 と変数を用意します。
  2. print("わたしの名前は" + name + "です") で文字同士をつなぎます。
  3. 数字をつなぐときは str(age) で文字に変えます:print("年齢は" + str(age) + "才です")
  4. Run して、3つのメッセージが出るか確認します。

🐍 きょうのコード

Python main.py
name = "ラボくん"
age = 12

print("わたしの名前は" + name + "です")
print("年齢は" + str(age) + "才です")
print("10年後は" + str(age + 10) + "才です")
▶ Trinketを開いて動かす

上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。

💡 きょうのポイント

Pythonは 文字数字を別物として扱います。+ でつなげるには両方とも文字でなければなりません。str(数字) で数字を文字に変換できます。

🎮 チャレンジ

  • 「わたしは○○才で、好きな食べ物は□□です」というメッセージを変数で作ろう
  • str() なしで "年齢は" + age と書くと、どんなエラーが出る?試してみよう
  • 計算結果(age + 10)を文字に変換してメッセージに入れよう

🔁 ふりかえり

  • なぜPythonは文字と数字を別物として扱うのだろう?
  • str() はどんな仕事をする命令だった?
  • 次の回ではもっと簡単な書き方(f-string)が出てきます。期待しよう

👨‍👩‍👧 おうちの人・先生へ

  • 準備:なし。
  • つまずきポイントTypeError: can only concatenate str (not "int") to str というエラーが出やすい回です。まず TypeError を「種類が合っていないエラー」と読み、次に strint を見つけて「文字と数字はそのままつなげない」と確認します。
  • 声かけ例:「Pythonは文字と数字をきっちり区別する厳しい子。でも str() という変換マシンがあるから大丈夫」と伝えると安心します。