本文へ進む
情報Ⅰ プログラミング演習道場

第1章 変数と代入

更新:2026-09-09

初めて訪れた方は学習ガイドへ。例題の結果を予想してから実行し、値を変えて確かめ、問題の空欄を自分で書いて進めましょう。

入力したコードは再読み込みで消えます。残しておきたい内容は手元へコピーしてください。実行できないときは読み込みの対処を確認できます。

この章で学べること
この章のゴール:まずはプログラミングの基礎である「print()を使って画面に表示する方法」と「変数の基本」を身につけて簡単なプログラムを作ってみよう!
この章の進め方
ステップごとに「解説を読む → 例題を実行して出力を確かめる」を繰り返してスモールステップでプログラムを実行すると何が起こるかを確かめてみましょう。例題は自由に書きかえて再実行してかまいません(「最初のコードに戻す」で元に戻せます)。
目次
  1. STEP 1 画面に表示する ― print()
  2. STEP 2 値に名前をつける ― 変数
  3. STEP 3 「=」の本当の意味 ― 代入と上書き
  4. STEP 4 変数を使って計算する ― i = i + 1
  5. エラー例 ― よくあるエラーを知ろう!
  6. 演習問題
  7. 自由実行スペース

STEP 1画面に表示する ― print()

print() は、カッコの中に書いたものを画面に表示する命令です。文字列(文字の並び)を表示したいときは、'(シングルクォーテーション)または "(ダブルクォーテーション)で囲みます。数値はそのまま書けます。また、カンマ , で区切ると、複数の値を続けて1行に表示できます。

書き方の例表示される内容
print(365)365
print('こんにちは')こんにちは
print('気温は', 30, '度')気温は 30 度

例題 1

▶実行ボタンを押して、どのように表示されるかを確かめてみましょう。

最初のコードを読む(実行できないとき)
print('こんにちは')
print('プログラミングを始めよう')
print('現在の気温は', 30, '度です')

print()を変えると行替えが起こることを確認しましょう。

また、文字列は'(シングルクォーテーション)や"(ダブルクォーテーション)で囲まないとエラーが出るので試してみましょう。

アラン先生
プログラムは、特別な指示がないかぎり上の行から順番に、一行ずつしか進みません。これを順次構造と呼びます。当たり前に思えるかもしれませんが、その「当たり前」をルールとして決めておくことが大切なんですね。
やってみよう 1-1

print() を2回使って、以下のように自己紹介が2行で表示されるプログラムを自分で考えて作りなさい(内容は自分のことに変えてOKです)。

<実行結果例>こんにちは 高校1年生です
最初のコードを読む(実行できないとき)
# ▼ ここに書いてみよう
解答例を見る(まず自分で書いてから開くこと)
print('こんにちは')
print('高校1年生です')
1行につき print() を1つ使います。文字列をクォーテーションで囲めていれば正解です。

STEP 2値に名前をつける ― 変数

変数とは、値を入れておく「名前つきの箱」です。name = 'アオイ' と書くと、name という名前の箱に文字列「アオイ」が入ります。箱に入れた値は、print(name) のように変数名を書くだけで取り出して使えます

name = 'アオイ' name 'アオイ'
図1 変数は「名前つきの箱」。代入すると値が箱に入る

変数の名前は半角の英字で始め、意味のわかる名前(namekion など)をつけます。また、行の途中に # を書くと、そこから行末まではコメント(実行時に無視されるメモ)になります。

例題 2

どのように表示されるのかを予想してから実行しましょう。また、'アオイ' の中身を自分の名前に書きかえるとどうなるかも試してみましょう。

最初のコードを読む(実行できないとき)
name = 'アオイ'   # 変数nameに文字列を入れる
print('放送部の新しい部長が決まりました')
print('新部長は', name, 'さんです')
print(name, 'さん、これからよろしくお願いします!')
アラン先生
'アオイ' のシングルクォーテーション(' ')を外して実行すると、どんなエラーが出るか試してみましょう!最初のうちに「何をすると、どんなエラーが出るのか」をたくさん経験しましょう。恐れずどんどん書くことが大切ですよ。
やってみよう 1-2

変数 iro に好きな色(文字列)を代入し、以下のように表示されるプログラムを自分で考えて作りなさい。

<実行結果例>好きな色は 青 です
最初のコードを読む(実行できないとき)
# ▼ ここに書いてみよう
解答例を見る(まず自分で書いてから開くこと)
iro = '青'
print('好きな色は', iro, 'です')
変数に文字列を入れて、print() のカンマ区切りで取り出せていればOKです。
ノイマン先生
いいかね、共通テストでも kingaku(金額)、saichou(最長)のようなローマ字の変数名が使われる。変数名から「何が入っている箱なのか」を読み取ることが問題を解くときのヒントになるんだ。

STEP 3「=」の本当の意味 ― 代入と上書き

プログラミングの = は、数学の「等しい」という意味ではありません= は「右側の値を、左側の変数(箱)に入れる」という代入の記号です。

そして、すでに値が入っている変数に新しく代入すると、前の値は消えて上書きされます。1つの変数が持てる値は、常に1つだけです。

kion 25 kion = 30 kion 25 30 前の値は消える
図2 新しく代入すると、前の値は上書きされる

例題 3

表示してみて、print('朝の気温は', kion, '度') と print('昼の気温は', kion, '度') ではどのように kion の値が変化するのかを確かめてみましょう。

最初のコードを読む(実行できないとき)
kion = 25
print('朝の気温は', kion, '度')
kion = 30
print('昼の気温は', kion, '度')
やってみよう 1-3

変数 tokui に得意教科を代入して表示し、そのあと別の教科に上書きしてもう一度表示するプログラムを自分で考えて作りなさい。

<実行結果例>得意教科は 数学 です やっぱり 英語 です
最初のコードを読む(実行できないとき)
tokui = '数学'
print('得意教科は', tokui, 'です')
# ▼ ここに1行書こう

print('やっぱり', tokui, 'です')
解答例を見る(まず自分で書いてから開くこと)
tokui = '数学'
print('得意教科は', tokui, 'です')
tokui = '英語'
print('やっぱり', tokui, 'です')
2回目の代入で前の値が消えて上書きされる、というSTEP 3の内容をそのまま自分の手で確かめる問題でした。

STEP 4変数を使って計算する ― i = i + 1

代入の = では、まず右側の式が先に計算され、その結果が左側の変数に入ります。だから数学ではありえない

  i = i + 1 という式も、プログラミングでは「いまの i の値に1を足した結果を、あらためて i に入れ直す」という正しい操作になります。

i 5 1 i + 1 → 5 + 1 = 6 2 計算結果の 6 を i に入れ直す i = i + 1
図3 ① 右側を先に計算 → ② 結果を左の変数に入れ直す

例題 4

表示してみて、point = point + 5 のそれぞれの point に入っている値を考えてみましょう。

最初のコードを読む(実行できないとき)
point = 80
print('今の得点は', point, '点')
point = point + 5
print('加点後の得点は', point, '点')
ノイマン先生
いいかね、共通テストでは「この行が実行されるたびに変数の値はどう変わるか」を表で追いかけるトレースが定番だ。値の変化をメモしながら読むことが大切だ。
やってみよう 1-4

変数 score に80を代入し、自己代入を使って15を足してから、以下のように表示されるプログラムを自分で考えて作りなさい(print(95) のように直接書くのは無しです)。

<実行結果例>今のスコアは 80 点です 最終スコアは 95 点です
最初のコードを読む(実行できないとき)
score = 80
print('今のスコアは', score, '点です')
# ▼ ここに1行書こう

print('最終スコアは', score, '点です')
解答例を見る(まず自分で書いてから開くこと)
score = 80
print('今のスコアは', score, '点です')
score = score + 15
print('最終スコアは', score, '点です')
score = score + 15 は「いまの score に15を足した結果を、score に入れ直す」でしたね。

エラー例 ― よくあるエラーを知ろう!

プログラムを書いていると、必ずエラーに出会います。エラーは「壊れた」の合図ではなく、「ここが読めなかったよ」というPythonからの報告です。報告の読み方はいつも同じで、いちばん最後の行にエラーの種類と理由が書かれています。ここでは、よくあるエラーを3つ、わざと起こしてみましょう。

エラー例 1 クォーテーションの閉じ忘れ

文字列の最後の ' が抜けています。まず実行してエラーを出し、メッセージを読んでから、直して再実行してみましょう。

最初のコードを読む(実行できないとき)
print('こんにちは)
エラーの読み方を見る(実行してから開くこと)
最後の行に SyntaxError: unterminated string literal と出ます。SyntaxError(シンタックスエラー)は「文法のまちがい」という意味で、「終わっていない文字列がある=クォーテーションが閉じられていない」と教えてくれています。'こんにちは' と閉じれば直ります。

エラー例 2 変数名の打ちまちがい

2行目の変数名が、1行目で作った変数と1文字違っています。

最初のコードを読む(実行できないとき)
namae = 'アオイ'
print(nama)
エラーの読み方を見る(実行してから開くこと)
NameError: name 'nama' is not defined と出ます。NameError(ネームエラー)は「その名前の変数は知らない」という意味です。作った変数は namae なのに、nama という別の名前を呼んでしまったのが原因です。変数名は1文字違うだけで別物として扱われます。

エラー例 3 全角スペースの混入

行の先頭に、見た目ではわかりにくい全角スペースが入っています。日本語入力のままスペースを打つと起きる、やってしまいがちなエラーです。

最初のコードを読む(実行できないとき)
 print('こんにちは')
エラーの読み方を見る(実行してから開くこと)
SyntaxError: invalid non-printable character U+3000 と出ます。U+3000 は全角スペースのことで、Pythonは全角スペースを読めません。プログラムは記号もスペースもすべて半角で書き、日本語は文字列(クォーテーションの中)だけに使いましょう。
アラン先生
エラーが出ても、大丈夫です。最後の行を読めばエラーの原因の見当はつきます。エラーの種類(SyntaxError、NameError…)と場所(何行目か)をチェックしてあわてず直しましょう。

演習問題

問 1-1

次のプログラムを実行し、「変数」の性質を確認しなさい。

最初のコードを読む(実行できないとき)
food = "ラーメン"
print("最初は変数foodに", food, "が格納されている")
food = "パスタ"
print("新たに変数foodに", food, "が格納された")
確認ポイントを見る(実行してから開くこと)
2回目の代入で、変数 food の中身が「ラーメン」から「パスタ」に上書きされています(図2と同じ動き)。1つの変数が持てる値は常に1つ、という性質を確認してください。
問 1-2

次のプログラムを実行し、「変数」と「代入」の性質を確認しなさい。

最初のコードを読む(実行できないとき)
i = 5
print(i)
i = i + 1
print(i)
i = i + 1
print(i)
確認ポイントを見る(実行してから開くこと)
i = i + 1 が実行されるたびに、i の値が5→6→7と変化していきます(図3の動き)。この書き方は、繰り返し構造(第4章)で「回数を数える」ためにひんぱんに登場します。
問 1-3

変数 name に自分の名前を、変数 age に年齢を代入し、以下の実行結果例のように表示されるプログラムを自分で考えて作りなさい。

<実行結果例>私の名前は アキ です 年齢は 16 歳です
最初のコードを読む(実行できないとき)
# ▼ ここに書いてみよう
解答例を見る(まず自分で書いてから開くこと)
name = 'アキ'
age = 16
print('私の名前は', name, 'です')
print('年齢は', age, '歳です')
文字列はクォーテーションで囲み、数値はそのまま書きます。print() のカンマ区切りで、文字列と変数を混ぜて表示できていればOKです。
問 1-4(発展)

変数 a に3、変数 b に5を代入したあと、2つの変数の中身を入れ替えて、以下のように表示されるプログラムを作りなさい。
ヒント:そのまま a = b とすると、a に入っていた3が消えてしまいます。もう1つ変数を用意して、3を一時的に避難させておきましょう。

<実行結果例>a = 5 b = 3
最初のコードを読む(実行できないとき)
a = 3
b = 5
# ▼ ここから下に書いてみよう
解答例を見る(まず自分で書いてから開くこと)
a = 3
b = 5
taihi = a
a = b
b = taihi
print('a =', a)
print('b =', b)
変数 taihia の値(3)を避難させてから入れ替えるのがポイントです。この「もう1つ変数を用意して避難させる」やり方は、プログラミングでくり返し出てくる大切な考え方です。

自由実行スペース

思いついたことを自由に試すための場所です。学んだことを使って、好きなプログラムを書いてみましょう。

最初のコードを読む(実行できないとき)
# 自由に書いてみよう
ノイマン先生
ちなみに共通テストのプログラムは日本語まじりの専用表記だがね、代入はPythonと同じ =、表示は 表示する("得点は", point, "点")print() にそっくりだ。ここで学んだことは、そのまま入試で通用するんだ。

この章の確認:理由まで説明してみよう

変数の値を右辺で計算し、その結果を左辺へ代入する順序を説明できますか。

x = 4
y = x
x = x + 2
print(x, y)
出力と考え方を見る

出力:6 4

yへ代入したのは、その時点のxの値4です。後からxを6にしても、yを更新する代入はありません。

print(x, y) の直前に y = x を加えたら、出力はどう変わるでしょうか。

変更後の答えを見る

6 6になります。yへの2回目の代入で、その時点のxの値6を受け取ります。

自分でコードを書き換えて、この章の自由実行スペースで確かめてください。出力の一致だけでなく、変数がどの順に変わったかも説明できれば次へ進みましょう。

つまずいたときの説明学習の進め方参考資料

実行環境を準備中…