Python × 入門 | #02 変数に値を入れよう

同じ数字や言葉を何度も使ったり、途中で値が変わったりするときに便利なのが変数です。変数は、値にラベル(名前)を付けて覚えておく「箱」のようなイメージです。

この記事では、PycoBlocksで変数に値を入れる表示して確かめる値を更新する、という基本を練習します。

変数を使ってみよう

まずはPycoBlocksを開こう

下のPycoBlocksで直接作業するか、別タブで開き、生成されるPythonコードを見ながら進めてください。

変数とは何か

変数は「値に名前を付けて覚えておく仕組み」です。たとえば、点数を score という名前で覚えておけば、あとで score を使って表示したり計算したりできます。

用語 意味
変数(variable) 値に名前をつけて覚えておく仕組み score
代入(assignment) 変数に値を入れること score = 80
参照(reference) 変数から値を取り出して使うこと print(score)

ステップ1:変数に数値を入れて表示しよう

まずは数値の変数を作ります。PycoBlocksでは、だいたい次の流れでブロックを組みます。

  1. 「変数」カテゴリで、変数に値をセットするブロックを置く
  2. 変数名を score にして、値を 80 にする
  3. 「表示」カテゴリで、値を表示(または「ラベル+変数」)を置く
  4. 実行して、結果が出るか確認する
ブロック例:変数に値をセットして表示

このとき右側に生成されるPythonコードは、概ね次のようになります。

score = 80
print(score)

ステップ2:値を更新(増減)してみよう

変数のいいところは「途中で値が変わる」ことです。たとえばゲームの得点は、プレイ中に増えていきます。PycoBlocksの「変数」カテゴリには、増減(足し算/引き算)できるブロックがあるので使ってみましょう。

次のように「10点ずつ加算して表示」を3回繰り返すと、変数が更新されていくのが見えます。

ブロック例:変数の増減(×3回)
score = 0
score = score + 10
print(score)
score = score + 10
print(score)
score = score + 10
print(score)

実行結果が 10, 20, 30 のように増えていればOKです。もし増えない場合は、score を更新するブロック(またはコード)が入っているかを見直してみてください。

ステップ3:「ラベル+変数」で読みやすくする

数字だけ表示すると「これ何の数字?」となりやすいです。そこで、ラベル(説明)を付けて表示してみましょう。たとえば score なら「score: 」のように出すと、あとで見返しても混乱しにくくなります。

score = 80
print("score:", score)
ブロック例:ラベル+変数で表示

コーディングモードで書いてみよう

ブロックで流れを掴んだら、コーディングモードで同じことを自分で書いてみましょう。変数名は何を入れているかが想像できる名前にすると迷いにくいです(例:score, count, price)。

次のコードは「得点を更新して、最後に合計を表示する」例です。

score = 0

score = score + 5
score = score + 20
score = score - 3

print("final score:", score)

演習課題

課題2-1:好きな数を入れて表示しよう

my_number という変数を作り、好きな数を入れて表示してみよう。表示は「ラベル+変数」を使うと見やすい。

▶ 模範解答と解説を見る

変数に値を入れて、最後に表示すればよい。

ブロックの組み合わせ例:

模範解答:好きな数を表示
my_number = 42
print("my_number:", my_number)

課題2-2:カウンターを作ろう

count を0から始め、+1 を5回行って、毎回表示してみよう(繰り返しブロックを使ってもよい)。

▶ 模範解答と解説を見る

「増減」ブロック(または count = count + 1)を使う。繰り返しがまだなら、まずは5回分を縦に並べてもよい。

ブロックの組み合わせ例:

模範解答:カウンター
count = 0
count = count + 1
print("count:", count)
count = count + 1
print("count:", count)
count = count + 1
print("count:", count)
count = count + 1
print("count:", count)
count = count + 1
print("count:", count)

課題2-3:おこづかい帳(合計を計算)

money を0円から始め、もらった金額(例:100, 250, 80)を足し合わせ、最後に「合計」を表示してみよう。途中経過も表示するとさらに分かりやすい。

▶ 模範解答と解説を見る

変数は「足し合わせて貯める」用途に強い。最後に1回だけ表示しても良いが、途中経過を出すとデバッグしやすい。

ブロックの組み合わせ例:

模範解答:おこづかい帳
money = 0
money = money + 100
print("money:", money)
money = money + 250
print("money:", money)
money = money + 80
print("money:", money)

print("total:", money)

課題2-4:秒数を分と秒に変換しよう

たとえば total = 137(秒)を、「2分17秒」という形式で表示するプログラムを書いてください。//% を使います。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

秒を分・秒に変換するブロック例
total = 137
minutes = total // 60
seconds = total % 60
print(f"{total}秒 = {minutes}分{seconds}秒")

解説: // は切り捨て除算(何分か)、% は余り(残りの秒数)を求めます。この2つの演算子の組み合わせは、時刻・単位変換でよく使うパターンです。

課題2-5:2つの変数の値を入れ替えよう

変数 a = 5b = 10 を用意して、ab の値を入れ替えてから表示してください。実行すると a: 10b: 5 と表示されれば正解です。2通りの方法を試してみましょう。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

変数の値を入れ替えるブロック例
a = 5
b = 10

# 方法1:一時変数(temp)を使う
temp = a
a = b
b = temp
print(f"a: {a}")
print(f"b: {b}")

# 方法2:Pythonらしい書き方(多重代入)
a = 5
b = 10
a, b = b, a
print(f"a: {a}")
print(f"b: {b}")

解説: 方法1は「一時的な箱(temp)を使って中身を移し替える」イメージです。方法2の a, b = b, a はPython特有の多重代入で、右辺を先に評価してから同時に代入するため一行で入れ替えができます。

まとめ

  • 変数は「値に名前を付けて覚えておく仕組み」です
  • 変数 = 値 で入れて、print(変数) で確認できる
  • 更新(増減)すると「途中で変わる値」を扱えるようになる

次は計算の回で、変数と算術演算子を組み合わせて「合計・平均・差」などを扱います。→ Python × 入門 | #03 計算してみよう

PAGE TOP