Pythonの基本を学習したら、実際に問題を解いて理解できているか確認してみましょう。
Python確認テスト第1問では、「変数」と「代入」について出題します。
変数は、条件分岐・繰り返し処理・関数など、これからPythonを学習していくうえで欠かせない基本です。
問題を見たら、すぐに解答を確認せず、まずは自分で実行結果を考えてみてください。
第1問:このPythonコードの実行結果は?
次のプログラムを実行すると、何が表示されるでしょうか。
score = 70
score = 85
print(score)
次の4つから選んでください。
A. 70
B. 85
C. 70 85
D. エラーになる
答えを決めてから、下の解説を確認してみましょう。
正解
正解は「B. 85」です。
実行結果は次のようになります。
85
なぜ85になるの?
最初の行では、
score = 70
と書いています。
これは、変数 score に70を代入しているという意味です。
この時点では、
score → 70
となっています。
しかし、次の行で、
score = 85
と書いています。
すると、変数 score に保存されていた70が、新しい値85に変更されます。
つまり、
最初
score → 70
↓
新しい値を代入
score → 85
となります。
そのため、
print(score)
を実行すると、
85
と表示されます。
変数とは?
変数とは、プログラムの中でデータを保存しておくための仕組みです。
初心者のうちは、
「データを入れておく箱」
と考えると分かりやすいでしょう。
例えば、
name = "山田"
age = 16
score = 85
というプログラムでは、
name → 山田
age → 16
score → 85
というデータが保存されています。
「=」は等しいという意味ではない
数学では、
x = 10
という式を見ると、
「xと10は等しい」
と考えることがあります。
しかしPythonでは、基本的に = は、
右側の値を左側の変数へ代入する
という意味です。
例えば、
number = 10
なら、
「numberという変数に10を入れる」
という意味になります。
値はあとから変更できる
Pythonの変数には、あとから別の値を代入できます。
number = 10
print(number)
number = 20
print(number)
実行結果:
10
20
最初は10ですが、その後20を代入したため、変数の中身が変更されています。
変数の値を使って計算することもできる
変数は値を保存するだけでなく、計算にも利用できます。
price = 100
quantity = 3
total = price * quantity
print(total)
実行結果:
300
このプログラムでは、
100 × 3
を計算して、その結果を total に保存しています。
もう1問挑戦してみよう
次のプログラムの実行結果を考えてみてください。
number = 10
number = number + 5
print(number)
何が表示されるでしょうか。
A. 5
B. 10
C. 15
D. エラー
正解
正解は、
C. 15
です。
最初に、
number = 10
なので、numberには10が入っています。
次に、
number = number + 5
が実行されます。
右側の、
number + 5
は、
10 + 5
なので15です。
その結果を再び number に代入するため、
number → 15
となります。
よく使う書き方
先ほどの、
number = number + 5
は、Pythonでは次のようにも書けます。
number += 5
この2つは、基本的に同じ意味です。
number = 10
number += 5
print(number)
実行結果:
15
繰り返し処理などでもよく使うため、覚えておくと便利です。
今回のポイント
Python確認テスト第1問で覚えておきたいポイントは、次の3つです。
- 変数はデータを保存するために使う
=は値を変数へ代入する- 同じ変数に新しい値を代入すると、以前の値は置き換わる
特に、
score = 70
score = 85
の場合、最後に代入された85が score の値になります。
まとめ
今回は、Pythonの変数と代入について確認しました。
変数は、Pythonプログラミングの最も基本的な仕組みの一つです。
今後学習する、
- 条件分岐
- 繰り返し処理
- リスト
- 関数
- 辞書
などでも、変数は何度も使用します。
今回の問題が理解できたら、次は「条件分岐」を使ったPython確認テストに挑戦してみましょう。
次回:Python確認テスト第2問|if文と条件分岐