こんにちは。渡辺です。
メモリに名前を付けた「箱」を用意し、そこに数字や文字を入れることで、計算やデータ処理を行うことを学習しました。
<過去記事>
【変数】コンピュータプログラムではメモリに名前を付けてそこに収めたデータを処理する
この箱を使って、カンタンな計算をやってみましょう。
今日は割り切れない計算をやってみます。
すでに作ってあるPyCharm上の “study00” をいったん全部消して、以下の式を打ち込んでみてください。
aとbというのは、数字を入れるための箱(メモリ)の名前なので、何でも好きな文字とか単語を使って大丈夫です(Pythonであらかじめ使われるコードは使えませんが)。
a = 6
b = 2
print(a/b)
print(b/a)
結果は以下のようになりました。
6÷2が3になるのは分かります。
ところが、2÷6は答えは0.3333….と3がえんえんと続く小数になるはずですが、「2の中に6? 1つもないじゃん」とあっさり諦めたのか、0になってしまいました。
小数を扱うときは明確に指定する
実はコンピュータは小数を扱うのが得意でありません。
コンピュータは、電気を流す、流さないの2進数を土台としているからです。
メモリを覗いてみると、こんな感じです。
小数を扱うためには、小数点の位置を決めるなど、少し補足処理が必要になります。
何も指定しないと補足処理はしないので、その変数(箱)は整数用になってしまいます。
小数を使いたい場合は、以下のようにその数字が整数でなく小数であると明示します。
a = 6.0
b = 2.0
今度は、以下のように小数を含めた結果になりました(ホッ)。
6÷2も3ではなく、3.0と表示されています。
これは、コンピュータが「今、小数を扱っていますよ」ということを分かりやすくマーク(印付け)しているわけです。
文字と数字も区別する
次に変数a、bに入れる(=代入する)数値を以下のようにしてみてください。
計算は足し算と引き算にしてみます。
a = ‘6’
b = “20”
print(a+b)
print(a-b)
a+bの答えは、620となっています。
次の a – b は何とエラーになってしまいました。
赤線で囲んだところがエラーメッセージですが、strはstring、つまり文字(列)を表しています。
ここでは、「文字と文字の引き算なんてオラァできないよ」と文句をいわれているわけです。
+(足し算)だけは文字と文字をそのままつなげる(結合といいます)ので、”6″ + “20” →”620″ になりますが、それ以外の計算は数字でないからできません。
PyCharmはエラーを警告してくれる
コードを打ち込んだときに、PyCharm上で一部の文字の色が変わっていたのに気づいたでしょうか?
a+bは何もありませんが、a-b、a*b、a/bすべて、数式のところにマーカーのような色が付いています。
これは「この部分は理解できません(=文法的に怪しいですよ)」とPyCharmが警告を出してくれているのです。
プログラムを作っているときに、この警告が出ているということは何か間違っている可能性があるので、要確認ということです。
こういうツールを使うメリットでもあります。
<今日の要点ノート>
小数を扱うときは、代入する数値をたとえ整数でも6.0とか小数にして、コンピュータに小数を扱いたいことを伝える。文字を扱うときは ‘ または ” で前後を括る。足し算で文字をつなげることはできるが、計算はできない(数字ではない)。文法や処理がおかしいときは、PyCharmではそのコードに印が付くので、その際は要チェック。
コメント