白黒つけようぜ!くまねこ(@kumanecoblog)です。
今日もPython捗っていますか?
一緒に頑張っていきましょう!
- Pythonで計算ができる
- 文字列を連結させることができる
はじめに(このコースが初めての方向け)
このコースは、実際に手を動かしながら進めていくことを推奨しています。
なので、あなたのパソコンに今からPythonを使えるようにしてもらいます。

急に難しそう!簡単で易しいって聞いていたのに・・・
無理!嘘つき!
大丈夫です。安心してください。
このコースではGoogle Colaboratoryを使うことを推奨しています。
Google Colaboratoryの詳しい説明はこちらに説明があります。
5分くらいで読めるのでサクッと読んでみてください。
簡単に言うと、Google Colaboratoryを使うと「準備なしで、誰でも10秒でPythonを始められる」からです。
「Pythonわかる!楽しいかも!」と思ってもらうこともこのコースの目的の一つです。
なのでまずPythonに触れてほしいです。
難しい・複雑な環境構築はあとでやりましょう!
Google Colaboratoryの始め方はこちらを参考にしてください。
1. 計算
Pythonでは電卓計算のように、足し算や引き算のような普段からよく使う計算から、割り算の余りだけを求める方法があります。
1.0 数値とは
実際に計算に入る前に一つだけ用語をお伝えします。
数値とは、そのままの意味で「数字」のことです。前回までは「数字」と言っておりましたが
今回からは「数値」と言っていきます。
前回の内容でお気づきの方もいると思いますが、数値は文字列と違いクオーテーションで囲む必要はありません。
数値についてはこれを覚えておけば大丈夫です。
1.1 足し算と引き算
数学と同じように「+」「-」で計算ができます。
特にむずかしく考えずとも、普段何気なくやっている足し算や引き算をやればできます。
1.2 実際にやってみよう
#数値はクオーテーションで囲まなくてOK
print(8 + 2)
print(8 - 2)
print(2 - 8)
記述出来たら[Shift]+[Enter]で実行しましょう。
print関数で囲めば結果のみが出力されます。

計算結果がマイナスでも、
ちゃんと出力されます。

記号の前後に半角スペースを入れているのは、コードを見やすくするためだよ!
なくても実行できるから好みで選んでいいよ。
(1)「6 + 4」の結果を出力してください。
(2)「6 + 4」を出力してください。
急な例題です。前回の内容をものにしているあなたなら簡単すぎるかもしれません。
(1)は計算の結果を出力、(2)は計算式を出力してみてください。
#(1)
print(6 + 4)
#(2)
print("6 + 4")
どうなっているのかと言うと、前回の内容から
「クオーテーションで囲むとPythonは文字列」と判断します。
つまりこういうことです。

なので、クオーテーションで囲んだ計算式はそのまま出力されます。
1.3 かけ算と割り算
もちろん足し算と引き算以外にも、かけ算と割り算もPythonはできます。
普段の計算は、かけ算「×」割り算「÷」ですが
Pythonではかけ算「*」割り算「/」です。また、割り算の余りは「%」で計算できます。
普段使うものと違うので、この3つはしっかりと覚えたいです。
1.4 実際にやってみよう
いきなりですが例題をやってみましょう!
やり方は先ほどの足し算引き算と同じです。
「+」や「-」があったところに「*」「/」「%」を入れるだけです。
大丈夫です、あなたならできます!
(1)「3 × 6」の結果を出力してください。
(2)「6 ÷ 3」の結果を出力してください。
(3)「8 ÷ 5」の余りを出力してください。

自信がなくて実行するのが怖い時もあるけれど、
何回失敗してもエラー出しても大丈夫!
その数だけ自信になるから。
#(1)
print(3 * 6)
#(2)
print(6 / 3)
#(3)
print(8 % 5)
2. 変数を組み合わせよう
プログラミングを作る際に、直接「print(5 + 3)」のように出力することは少ないです。
多くの場合、第1回でものにした変数と組み合わせて使います。
変数との組み合わせ方とそのメリットもお伝えします。
2.1 変数と一緒に使ってみよう
実際にやってみましょう。
やることは、①変数に値を代入→②それを計算します。
#変数に値を代入
panda = 5
lion = 3
#変数を使って計算
print(panda + lion)
記述出来たら[Shift]+[Enter]で実行しましょう。

無事出力されました。
ただ(5 + 3)と書くよりも、この計算は何の計算なのかが分かりやすくなります。
例えば、最後の合計値も変数にするとさらに分かりやすくなります。
#こんな形で書くとより分かりやすい
panda = 5
lion = 3
#合計値を変数sumに代入する
sum = panda + lion
#変数sumを出力
print(sum)
始めのうちは、「どうやって変数を作ったらわかりやすくなるかな」と悩んでしまいますが
色々と試していくうちに洗練されていきます。ので、現時点で変数名が上手く決められなくても落ち込むことはありません。「とにかくコードをわかりやすく書く」を今の内から心がけておくと
1ヶ月後には驚くほどわかりやすくコードが書けるようになっています。

2.2 変数を使うメリット
変数を使うメリットは、プログラムのわかりやすくする事だけではありません。
変数を使うメリットは大きく分けて3つあります。
- プログラムをわかりやすくする
- 同じデータを繰り返し使える
- 変更を加える時に1か所だけでいいので効率的
順番にご紹介します。
2.2.1 プログラムをわかりやすくする
みなさんは既に上の項目で実際に体験していることですが
なぜ変数を使うとプログラムがわかりやすくなったのかというと
データに名前を付けられているからです。

僕のデスクの片隅のような状態、つまり整理整頓がされていないという状態です。
どこになにがあるか分からない状態です。
やっぱ物のありかを把握できるのは綺麗に見えるだけでなく、作業効率もアップします。
デスクもプログラムも同じですね。
なので変数を使ってデータ(値)を名前を付けて整理できるのがメリットです。

2.2.2 同じデータを繰り返し使える
今は短い値のみを代入しているのであまり恩恵を感じれないどころか、むしろ書くものが長くなって損しているように感じるかもしれません。
ですが今後なにかをアプリなどを開発する時、変数に代入するものが複雑だったり長くなってきます。
その時にこの便利さを感じます。
#簡単にですが、例えばこんな感じです。
weight = 100
input_count = input("パンダにあげる笹の数を入力してください:")
count = int(input_count)
bamb_weig = count * weight
print(bamb_weig)
2.2.3 データが変更する時に1つ直すだけでいい
例えば、1辺が10の正方形の面積を求めるとします。
まず、「side = 10」と変数に代入しておきます。そして「area = side * side」と宣言します。
なんとなくですが、これがなにかの面積のことを言っているのだなとわかります。
「これで完成!」と思ったら、この正方形をよく見たら1辺が10ではなく、100でした。
書き換えなくてはなりません。
その時は「side」の中身を変えてあげるだけで全て修正がされます。


「area」に数値を直接代入してしまうと、修正する箇所がこれだけ短いコードでも二か所です。
修正箇所が多いとそれだけエラーの発生率も上げてしまいます。
修正作業もエラーも少ない方が嬉しいですよね。なので、「この値は何回も使いそうだな」と思ったら積極的に変数に代入して使いましょう。
2.3 省略
変数を使うとなんと、計算式を省略できます。
意外と使うので、慣れてきたら積極的に使ってください。

実際に省略形を使ってみましょう。変数に代入されている数字を変えてみてもOKです。
好きな数字で色んなパターンでやってみてください。
a = 1
b = 2
c = 3
d = 4
e = 5
print(a,b,c,d,e)
a += 5
print(a)
b -= 2
print(b)
c *= 6
print(c)
d /= 3
print(d)
e %= 4
print(e)
3. 文字列 + 文字列
数値の計算で使った「+」は、数値だけでなく文字列にも使えます。
文字列の使うと、文字列同士を連結させることが出来ます。
#文字列 + 文字列で文字列を連結させる
print("Hello!" + "kumaneco")
#もちろん日本語もできるよ
print("こんにちは!" + "くまねこ")
記述出来たら[Shift]+[Enter]で実行しましょう。

無事表示されました。
このように「+」記号を使うことで、文字列同士を連結させることも可能です。
「+」さんは万能です。

でも、これってどこでどうやって使うの?
と思ったりしますよね。上の例なら普通にクオーテーションで一括りにしてしまえばいいだけですもんね。例えばこんな風に使います。2.1で触れた内容も出てきます。変数も出てきます。
name = "くまねこ"
print("こんにちは!" + name)
morning = "おはようございます!"
print(morning + name)
記述出来たら[Shift]+[Enter]で実行しましょう。

無事表示されました。普段使っている回数が多いのは圧倒的にこのパターンです。
このように、「文字列 + 変数」の連結や「変数 + 変数」の連結で使います。
「こんにちは!○○さん 今日は晴れです。」を出力してください。
ただし、変数を2つ以上使ってください。
○○には好きな名前を入れてください。(もし迷ったら「くまねこ」と使ってください。)
今までよりもprint関数の中に書く量が長くなりますが、ここまでの知識でできます。
もしわからなくても、落ち込むことはありません。戻って思い出したらOKです。
解答例と変数を選んだ理由も書いてあります。参考にしてみてください。
「自分はこんな風に書いたよ!こんな風に考えた!」という感想もお気軽にコメントやTwitterでおしえてください。
name = "くまねこ"
weather = "晴れ"
print("こんにちは!" + name + " 今日は" + weather + "です。")
変数の決め方は、名前と天気は色んなパターンがありそうだから変数にしておいたら柔軟に対応できるかなと考えたからです。
計算まとめ
お疲れ様でした。細かくお伝えしていたらボリューミーになってしまいましたね。
- 足し算と引き算は「+」「-」
- かけ算と割り算、余りは「*」「/」「%」
- 計算式をクオーテーションで囲むと計算式が出力される
- 変数と数字を計算する時、便利な省略型がある
- 「+」記号は万能!文字列も変数も連結させることができる。
意外と使うのに省略形の形を忘れてしまう時があります。
すぐに見返せるようにブックマークしておくのもオススメです。

「x += 1」を「x =+ 1」と逆に書いてしまうことが度々ありました。
今回の練習問題
今回はここまでです!お疲れ様でした。
では最後に練習問題をしましょう。今日の知識をさらに定着させちゃいましょう。
今回は少しだけ実践のことを踏まえた問題になっているので、少しだけ難しくしました。
間違っても構いません!今のうちにたくさん間違えてエラーを出しましょう。
その分だけ自信と変わります。
変数を使ってOKです。第一目標は「答えを出力する」余裕があれば「コードを読みやすくする」を心がけると最高です。
(1)それぞれの答えを出力してください。
- 4 + 6
- 3 – 7
- 2 × 5
- 8 ÷ 3
- 9 ÷ 2 の余り
(2)底辺5、高さ4の三角形の面積を計算式と答えを出力してください。
三角形の面積は(底辺×高さ÷2)です。懐かしいですね。
計算式を出力する時はPythonに計算式を文字列と伝える必要があります。
(3)1000円の商品が10%引きの計算式を書いて答えを出力してください。
割引きの計算は(価格×(1-0.1))です。
10%を(10÷100)という式を作ってもいいかもしれません。
#(1)
print(4 + 6)
print(3 - 7)
print(2 * 5)
print(8 / 3)
print(9 % 2)
#(2)
print("5 × 4 ÷ 2")
print(5 * 4 / 2)
#変数を使うとこんな感じ
bottom = 5
high = 4
area = bottom * high / 2
print(area)
#(3)
price = 1000
discount = 1 - (10 / 100)
new_price = (price * discount)
print(new_price)
#次回の予習
print("値引き後の値段は、"+ str(new_price) + "円です。")
次回
次回は「データ型」です。データ型と言われてもピンと来ないかもしれません。
簡単に言うと、文字列と数列は違うデータの型が違います。
Pythonさんは「文字は文字、数値は数値」と分けて考えています。
なので、これを一緒に使うことができません。
ではこれを一緒に使うにはどうしたらいいでしょうか。
それを次回お伝えします!練習問題の解答例でちょい出ししています。
次回も詳しく易しく簡単に説明していきます。お楽しみに!
なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
「できた!」など嬉しいことはコメント欄などのオープンなところでぜひ教えてください。
よりよいプログラミングライフを!
この記事が少しでも役立ててもらえたらうれしいです。
今回も最後まで読んでいただき、本当にありがとうございました!

コメント