さて、太郎くんは、さらに買い物を続けます。
太郎くんは、一つ100円のももを5つ、一つ40円のみかんを8つ、80円のなしを5つ、60円のキウイを10、 90円のスイカを20、110円のかきを10買いました。全部でいくらになったでしょう?
先ほどとおなじように、式を書いて計算してみましょう。
In [1]:
(100 * 5) + (40 * 8) + (80 * 5) + (60 * 9) + (90 * 20) + (110 + 10)
Out[1]:
しかし、 3680円は正解ではないようです。どこか間違えてしまったようですね。どこが違うか、わかるでしょうか?
変数と代入文¶
こういう式を書く時は、数字と演算子だけを一行に並べてしまうと、間違えやすいものです。Pythonでは、計算の結果に名前をつけて参照できます。名前をつけるときは、 =
記号を使って、次の形式で記述します。
名前 = 式
この名前のことは 変数 といい、=
を使った行を 代入文 といいます。
次の例は、50
という値に、variable
という名前をつけています。
variable = 50
値を代入した変数は、その値とおなじように使えます。
50 + 1
と書いても、
variable = 50
variable + 1
と書いても、まったく同じ計算が行われます。
一度設定した変数は、おなじセルだけではなく、別のセルでも参照できますので試してみてください。
この機能を使って、先程の式をわかりやすく整理してみましょう。
In [3]:
momo = 100 * 5
mikan = 40 * 8
nashi = 80 * 5
kiwi = 60 * 9
suika = 90 * 20
kaki = 110 + 10
momo + mikan + nashi + kiwi + suika + kaki
Out[3]:
こんどは、果物ごとに行を分け、それぞれの金額を計算して別々の 変数 に 代入 しています。
どちらも計算の結果は同じですが、式を分割しているので確認しやすいですね。よく見ると、次の個所が間違っています。
- キウイの個数
- 柿の計算式が掛け算ではなく足し算になってる
この2箇所だけ、計算をやり直して合計値を求めてみましょう
In [4]:
kiwi = 60 * 10
kaki = 110 * 10
momo + mikan + nashi + kiwi + suika + kaki
Out[4]:
正解は 4720円でした。
変数名¶
変数の名前は、なんでも良いというわけではありません。次のようなルールがあります。
- アルファベットや数字などを使えます。
- 記号は、
_
(アンダースコア)だけが使えます。_
以外の、+
や-
などの記号は使えません。 - 数字から始まってはいけません。
abc123
という変数名はOKですが、123abc
は数字ではじまるのでエラーとなります。 if
、while
などの、Python言語で使いみちが決まっている単語は使えません。- ルール上はひらがなや漢字なども使えますが、ちょっとわかりにくいエラーの原因になってしまうことがあります。半角のアルファベットと数字、
_
だけを使うようにしましょう。
例
variable -> OK (アルファベットのみ) variable_123 -> OK (アルファベットと _ と数字のみ) 123_variable -> NG (数字で始まっている) vari$able -> NG (記号は変数名として使えない) raise -> NG (「raise」という単語はPythonで特別な意味を持つので使えない)