はい、どーも!まっちゃんです!
今回はPythonを使った「電卓を超える計算ツールの作り方」ということで
電卓で計算するよりもずっと便利に、かつ分かりやすく扱える計算機をPythonで実装してみようと思います
扱い方は非常にカンタンです!
「今までプログラミングやったことないよ!」という人でも楽しめる内容になってます
また、こちらは本格的に学びたい派の人向けの内容ですが、プログラミングをやるうえで基本的な考え方である「文字列」と「数字」についてもザックリ学べます
ということで「これからPythonを学んでいこうと決意した人」も「プログラミングについてサクッと中身が知りたい人」でも両方に役に立つ内容になってますので、今回もぜひ最後までお楽しみください♪
ストーリー仕立てになっており、前回の2話では「Pythonのインストール方法」についてまとめてますので、ぜひこちらの方も参考にしてみてください
【PC初心者OK】すべての始まり!Pythonインストール方法「ストーリーで学ぶPythonプログラミング第2話」 | まっちゃんLabo (matchan-labo.com)
3話 Pythonででききる!電卓を超える計算機の作り方
「さあ、せっかくインストールしたしな。今日はちょっとプログラム動かしてから終わりにするか」
「いいね!やりましょ!」
「とりあえず画面の左下にWindowsマークがあるだろ?これをクリックしてみて」
「そーするとさっきインストールしたものが見れるよーになる」
「お、Pythonあるじゃん!これを使うんだな!」
「あーそっち使ってもいいんだけどもーちょい下の"P"から始まるものが並んでるとこまで行くとこんなのが見つかるはず」
「今回は簡単にするためにこっちの"Python 3.9(64bit)"ってのをクリックしてみて!」
「えーなんか見たことない文字が並んだ黒いものが現れたんですけどー!」
「OKOK!これで大丈夫だよ!ここに書いてある文章の意味は分かんないと思うけど今は無視してOK!先に進めよう!」
「んで、これでプログラムが動くんだな?」
「そそ!とりあえずprintを使ってみるか!」
「画面にそのままprint("アホ")って入力してみて!」
「(ん?"アホ"?)りょーかい!printっていうと印刷みたいな意味かな?」
「お、英語できるじゃん!そーだよ!」
「おいwなんかなめてねーか!?さすがにこれくらいできるわ!」
「ってあれ?なんかいっぱい変な文字が出てきたぞ??これちゃんとできてるのか??」
1 2 3 4 |
File "<stdin>", line 1 print("アホ) ^ SyntaxError: EOL while scanning string literal |
「笑笑」
「何笑ってんのよw」
「やっぱアホだわwお前ww」
「おいっ!!どゆこと!??」
「とりあえず今何が起こってるかひも解いていこうか」
「まずSyntaxErrorって書いてあるな」
「エラーは分かるだろ?これは文法エラーが起こってることを意味してる」
「エラー!?ダメだったってことか?」
「まあ、そーなるね」
「んで、EOLってのはEnd Of Lineの略。つまり行の終わりに問題があるってことよ」
「あとは File "<stdin>", line 1
print("アホ)
^
の部分やな。ここで何か問題が起こってるってことを教えてくれてる。」
「お前最後を"つけてなかっただろ?」
「あ、ホントだ。細かいなぁ」
「まあ、この辺は慣れてくしかないな」
「直した?」
「おう、直したよ」
「あ、今度はスッと表示されてる。エラー出てる感じはしないな」
1 2 |
>>> print("アホ") アホ |
「しかしもっとまともな文章できなかったのかよwなんかせっかくできたのにスッキリしねーなw」
「プログラミングはちゃんとできてるぞー?(笑)」
「今回使ったprint(" ")は" "の中身をそのまんま出力するもんなんだ。これからめちゃ役に立つし、使うから覚えとき?」
「あ、ちなみに" "(ダブルクォーテーション)は' '(シングルクォーテーション)でもいいよ」
「そーなのねー。まあ、ちゃんとできてんならいいわー」
「おいおいwちゃんとできてんだからもっと喜ぼ―ぜ!」
「...」
「じ、じゃあ次はさすがに達成感出るぞ?」
「便利な計算機として使うんだ」
「計算機?電卓でできるやん」
「そーやな!けど例えば"5+8×(5-3)÷20"なんて計算すぐできるか?」
「それは電卓では難しいなぁ」
「Pythonなら計算しやすくなる。」
「さっき書いたプログラムの下でいいからこの計算式を入力してみて」
「OK!...って"×"マークと"÷"ってどこにあるんだ??」
「Pythonでは×→*(アスタリスク)、÷→/(スラッシュ)で表す!」
「計算式だけ入力してあとはEnterキーを押せば計算できるよ!」
「なるほど!これでいけるわけか!!」
1 |
>>> 5+8*(5-3)/20 |
「=とかは今はいらないから、そのままEnter押してみ?」
1 2 |
>>> 5+8*(5-3)/20 5.8 |
「おお!答えが出てきた!!」
「いいね!そんな感じよ!」
「んじゃ、ちょっと変化球にしてみよっか」
「さっきにprint()を使ってこの計算式と答えを出してみよ―ぜ!そっちの方が計算やった感じ出るでしょ?」
「こーかな?」
1 2 |
>>> print("5+8*(5-3)/20") 5+8*(5-3)/20 |
「って~あれ?答え出してくれないなぁ」
「式がそのまま出てきちゃった」
「そ!実はさっき" "でくくった部分って文字列として認識されてるのよ」
「詳しい説明はこの後するわ!とりあえずこんな感じに入力してみて!」
1 2 |
>>> print("5+8×(5-3)÷20=",5+8*(5-3)/20) 5+8×(5-3)÷20 = 5.8 |
「あ、式と答え出てきた」
「print()の中にあった" "は文字列として認識されてる。で、その外にあるものは数字として認識されてるんよ」
「文字と数字とでは扱い方が違うんだな~。" "の中にあった文字はそのまま出力されて、数字の方は計算されて出てきたってことか」
「そゆこと」
「まあ、たしかにこっちの方が電卓より複雑な計算できそーやな」
「だろ?計算機みたいにも使えるんや」
「けどiPhoneの電卓でよくね?(笑)」
「まあね!!それは言えてる!」
「これくらいだとまだPythonのすごさが伝わんないと思うから次はもーちょいすごいことやるか」
「お、いいね!やろやろ!じゃあ明日またうちに来や」
「大学生暇じゃねーんだよw」
「まあ、気が向いたらな」
初めてのツールに興奮して盛り上がった話が頃合いを迎えた。これから帰宅するショーセ―をバイアが玄関まで見送りに行く。二人が出た真っ暗の部屋では月の明かりがパソコンを照らしていた。
4話はこちら
Pythonに標準実装されてるIDLEの使い方「ストーリーで学ぶPython初心者プログラミング第4話」 | まっちゃんLabo (matchan-labo.com)