これまで何度か登場した print( ) の役割について
ここで理解を深めていきます。
プログラムがだんだん長くなってくると、
その変数にどんなデータが代入されているか分からなくなる時があります。
そんなとき、print( ) を使うと、
そのデータの中身を画面上に表示できるため、
プログラムが意図した通りの挙動になっているか確認できるというメリットがあります。
青色の文字は前回解説した用語になります。
一度だけ青色で表示しますので、
その時点で意味を思い出せなければ、前回の内容を復習するようにしましょう。
次のプログラムを書いてみましょう。
book_price = 4500 + 4500 * 0.1
print(book_price)
前回の内容を思い出しながらこのプログラムを書いてみましょう。
変数名にはアンダースコアを使っています。
セルに記入したら shift + enter で実行して下さい。
このプログラムでは、
ある本の価格(定価+税)の計算結果を数値データとして、変数 book_price に代入し、
そのデータの中身を print( ) で表示しています。
この例では、私たちが知っている
通常の四則演算をプログラムで書いたものになります。
注意が必要なのは、計算に使われる記号で、
Python では計算に用いる記号を算術演算子と呼びます。
足し算に使用される記号はプラス(+ ←この記号)で、これは見ての通りです。
問題は掛け算の記号で、Python ではアスタリスク(* ←この記号)を使います。
× ←この記号ではないので注意しましょう。
計算の優先順位は算数・数学と同様だと考えましょう。
この例では 4500 * 0.1 が先に計算されるということです。
ここで計算に使用するときの記号の呼び方を紹介します。
足し算は、加算演算子(+ ←この記号)で、
掛け算には、乗算演算子(* ←この記号)を使います。
計算に使う記号を演算子と呼んでいるだけのことです。
プログラムでの書き方と日常生活で見かける記号に違いがあるという点だけご注意ください。
上の「課題」の式では足し算と掛け算のみを扱っていますが、引き算、割り算もついでに紹介します。
引き算は、減算演算子(- ←この記号)、
割り算は、除算演算子(/ ←この記号)で表せます。
割り算のスラッシュは分数を一行に収めるような書き方だと覚えましょう。
表にまとめると次のようになります。
演算の種類 | 算術演算子 |
加算(足し算) | 加算演算子( + ) |
減算(引き算) | 減算演算子( – ) |
乗算(掛け算) | 乗算演算子( * ) |
除算(割り算) | 除算演算子( / ) |
このあたりの用語は無理に暗記するものではなく、
「こんな用語があったな」と知っておくのが大事なので紹介しています。
本題に戻ります。
「課題」のプログラムでは、計算した結果を変数に代入して、print( ) で可視化しています。
この print( ) というプログラムを書くことで、
画面にデータ(文字や計算結果など)を表示できるようになります。
表示したいデータはカッコの中に書きます。
print(データ)
はじめに、print( ) を使うときの気持ちをお伝えします。
たとえば、先ほどの例では、ある本の価格を計算していますが、
その計算結果が想定しているものと一致するかどうかは式を見ただけでは判断できないときがあります。
もちろん暗算が得意な方であれば、それくらいの計算はすぐにできるかもしれません。
しかし、プログラムでより複雑な計算を行っていくと、
計算結果が意図した通りになっているか、確認したくなる時が出てきます。
print( ) はそういう時に使うと便利なのです。
仮にそこで得られた結果が想定外なものであった場合は、
それまでの計算式にミスがあったと考えることができるのです。
このように、データの中身を確認したいときに print( ) を使います。
ただ何となく使っているということではないのです。
続いて、print( ) を使うときのコツをお伝えします。
次のようなプログラムがあったとしましょう。
sum_result = 100 + 190
division_result = 990 / 3
multiply_result = 98 * 3
subtract_result = 788 - 179
print(sum_result)
print(division_result)
print(multiply_result)
print(subtract_result)
上から順に足し算、割り算、掛け算、引き算を行っていて、
その結果をそれぞれ変数に代入しています。
このプログラムの出力は次のようになります。
290
330.0
294
609
さて、ここで考えていただきたいのは、
これらの値が一目で分かるかどうか、それぞれが何の計算結果だったのか、パッと見で判断できるかどうかです。
これまではプログラム一行もしくは二行だったため、
意識する必要はなかったのですが、
print( ) で表示するデータが多くなってくると、出力もだんだん見づらくなってきます。
そこで今後の発展性を考え、ここで「見やすい出力」について考えることにしましょう。
実は print( ) のカッコの中に書くデータはカンマ(, ←この記号)で区切ると、
複数のデータを同時に出力してくれます。
print(データ1, データ2, データ3, …)
先ほどの計算結果の部分のみ書きます。
print( ) のカッコの中に続けて二つのデータを書いていきます。
print('足し算の結果: ', sum_result)
print('割り算の結果: ', division_result)
print('掛け算の結果: ', multiply_result)
print('引き算の結果: ', subtract_result)
※クォーテーションに挟まれた文章は日本語で書いても問題ないですが、
クォーテーション自体は半角で記入しましょう。
このあたりの話は以前解説した通りです。
ここでは、文字データと計算結果をカンマで区切って書いています。
つまり、print(文字データ, 計算結果のデータ) と書いているということです。
このように書いておくと、計算結果の前に文字データも一緒に出力されるので
以下のように、最終的な結果が読みやすくなります。
足し算の結果:
290
割り算の結果:
330.0
掛け算の結果:
294
引き算の結果:
609
print(文字データ, 計算結果) の文字データには、
計算結果の説明を書くと見やすくなります。
この例では「足し算の結果: 」のようにコロンを使っていますが、
あなたが読みやすければ、どのような文を書いてもいいと思います。
実際に書いてみましょう。
同じような結果が出力されたでしょうか。
このように print( ) を使うときは多くの場合、
表示したいデータとその説明である文字データが一緒に書かれますので、今のうちに表記方法に慣れておくとよいでしょう。
それからもう一つ重要なことは、
プログラムがどの順番で実行されるか、理解しておくことです。
先の例でいえば、print( ) が四回並んでいるので、
それぞれの出力を確認することで、プログラムが実行された順番を知ることができます。
この点に関しては特に難しいことはなく、直感的に理解できると思います。
先ほど書いたプログラムとその出力を見てもらうと分かる通り、
上から順に結果が表示されていることが確認できるかと思います。
こうした基本的なことを最初におさえておくと、後々の理解に役立ちます。
プログラムは上から順に実行されるということは大前提として知っておいてください。
次の「実践」では、(べき乗も含めた)簡単な計算結果を表示してみましょう。
ここでは、数字 2 の三倍と三乗を出力するプログラムを書いています。
target_value = 2
multiply_result = target_value * 3
cubed_result = target_value ** 3
print('掛け算の計算結果: ', multiply_result)
print('べき乗の計算結果: ', cubed_result)
このプログラムでは、はじめに数字の 2 を変数 target_value に代入していて、
* 3 のところで三倍の計算を行っています。その計算結果は変数 multiply_result に代入されます。
同様に ** 3 のところで三乗(2 × 2 × 2)の計算を行っています。計算結果は cubed_result に代入されます。
最後にこれらの計算結果が代入された変数が print( ) で表示されるという流れです。
実際に書いてみましょう。
このように、プログラムを書くときは変数を活用して同じことを書かないようにします。
ここでいう、同じこととは 2 * 3 と 2 ** 3 の式で使用される数字の 2 を指しています。
つまり、先の式は次のように数字の 2 を直接書いてもいいのですが、
multiply_result = 2 * 3
cubed_result = 2 ** 3
このように書いてしまうと対象の数字が(たとえば 2 から 3 に)変わったときに、
プログラムもそれに合わせて変更しないといけなくなります。
それに比べ、「実践」のプログラムでは先に対象の値を変数(target_value)に代入していて、
残りの計算式を変更しなくてもいい書き方をしています。
ただし、このように変数を使っていくと、
途中計算が想定しているものかどうか確認したくなるので、
そういうときは print( ) を使ってデータの中身を確認しましょう。
試しに、target_value を好きな数字に変えてみて下さい。
2 を代入したときと同じように、新たに代入した数字の三倍と三乗の結果が表示されるはずです。
print(文字データ, 計算結果) に気づけましたか?
今後もデータの可視化には、このprint( ) を活用していきますので、
少しづつ慣れていってください。
続いて、変数を活用して「同じ記述」を修正してみましょう。
仮に次のようなプログラムがあったとします。
年齢を日数に変換すると何日になるかといった簡単なプログラムです。
あなたならこのプログラムをどのように修正しますか?
ヒントは「同じ記述」です。
次のプログラムを実行しよう
print('年齢は、', 25, '歳ですね。')
print('あなたは', 25, '年前に生まれました。')
print('これまで', 25 * 365, '日間生きてきました。')
age = 25
lived_days = age * 365
print('年齢は、', age, '歳ですね。')
print('あなたは', age, '年前に生まれました。')
print('これまで', lived_days, '日間生きてきました。')
print( ) で表示したいデータが複数あるときは次のように書くのでした。
print(データ1, データ2, データ3, …)
最後に今回登場した用語のおさらいです。
用語 | 意味 |
算術演算子 | 計算に使う記号の名前です |
アスタリスク | * ←この記号(掛け算に使用) |
スラッシュ | / ←この記号(割り算に使用) |
カンマ | , ←この記号 |
変数とprint( ) を使ったデータの操作は基本としておさえてほしい内容です。
それからプログラムが上から順に実行されることも覚えておくとよいでしょう。
コメント