無料で使えるeGFRなどの腎機能計算ツールをリリースしました!!

Pythonの基礎プログラム#3 数字の記述と様々な計算結果を出力する方法①

加減乗除のコードはどう書いたらいいの?基本的ポイントまとめ

Python学習にオススメ

Progate -楽しく学べるプログラミング学習アプリ

Progate -楽しく学べるプログラミング学習アプリ

Progate無料posted withアプリーチ

まいど!Python勉強中の けいしゅけ(@keisyukeblog)です☆

前回の記事ではPythonのソースコード内にコメントを記載することを覚えました。

そして,次なるステップは演算です。Pythonで様々な計算(加減乗除,余りを出す計算,べき乗計算etc…)の具体的な記述例を記していこうと思います!

まだまだ基礎的な内容ですが,備忘録として記録し続けてみたいと思っています。もしPythonにご興味があるのであれば,このブログ記事が何かしら参考になればと思います☆

Pythonで数式を入力し,出力できるようになろう!

到達目標

様々な計算をPythonルールで記述できるようになる!

この記号を覚えよう!

  • 足し算: +
  • 引き算:
  • 掛け算: *
  • 割り算: /
  • 割り算の余りを出す: %
  • 商を整数で出す割り算: //
  • べき乗(累乗): **
けいしゅけ

タコちゅけ,Pythonで数学的計算をしたいとき,どうやって記述したらいいかわかる~?

いやちょっとまって,聞いといてなんやけども…。他のプログラミング言語でどうやって書いてるんや?計算式って…。

タコちゅけ

質問にはもちろん答えられないでちゅ💦

それ以上に,この人ひとりで勝手に深みに入っていくー!!

MEMO
AB
1100=A1+A2
250=A1*A2

例えばEXCELの場合,B1セルにA1セルとA2セルの足し算結果を表示させたければ,=A1+A2 または =SUM(A1,A2)と記し(もちろん,数字を入力して=100+50としても良い),Enterキーを叩けば結果である150が表示できるのは皆さんに知っているだろう。

知らなかった場合はエクセルでちょっと試してみてください。

また,B2セルに掛け算の数式を入れてみる。=A1*A2 または=PRODUCT(A1,A2)と記し(もちろん,数字を入力して=100*50としても良い)からEnterキーを叩けば結果である5000が表示される。

ちなみに,これをExcelマクロのプログラミングVBAでやるとコードは次のようになります

足し算

Sub 計算()
Range("a3").Value = Range("a1").Value + Range("a2").Value
End Sub

掛け算

Sub 計算()
Range("a3").Value = Range("a1").Value * Range("a2").Value
End Sub

慣れれば問題ないと思われますが,ぼくは馴染みがない為ちょっとSub / End Subで挟むことや,Rnange(””).Valueって一単語が長いかな💦と思いました。(慣れたら,なんてことなさそうやけども…)

Pythonで計算結果を出力する具体的な入力方法

APythonでの入力方法
1100足し算:Pythonではどう記述する?
250掛け算:Pythonではどう記述する?

それでは,Pythonならどうなるのでしょうか。具体的にどのように入力すればいいかを記載していこうと思います。

VSCodeを開き,下のようにコードを書いてみてください

足し算記述の具体的方法(100+50=150をプログラミング)

パターン1:直球勝負ver.~数字をぶち込む~

script.py

"""
100+50を計算してみる
このとき,print()内で100と50はクオテーション( ' or " )で囲まない!
"""
print(100+50)

書いたら,F5を押してデバッグありで実行します。すると,デバッグコンソールには以下のように表示されたと思います。

けいしゅけ

さらっと書いたけども,計算に関してPythonのプログラミングコード短すぎやろ!!コメントなしでもう一度書きますわ。

衝撃的な短さ!!

script.py

print(100+50)

>_コンソール

150
Pythonで足し算のプログラミングをコーディングしてみる
こんなにシンプルなコーディングでOKなのかぁ!!なのかぁ!!
注意

print(“100″+”50”)と書くと,デバッグコンソールは10050

print(“100+50”)と書くと,デバッグコンソールは100+50

と返してきます。

どうしてでしょうか?これは,クオテーションで囲うことが囲まれたものを文字列と認識させるためです。

数字を入れず,ひらがなを入れると分かり易いです。

print(“あいう”+”えお”)と書くと,デバッグコンソールはあいうえお

print(“あいう+えお”)と書くと,デバッグコンソールはあいう+えお

と返すわけです。

パターン2:文字に数字を代入してから計算ver.~変化に対応させるッ~

script.py

"""
100+50を計算してみる
このとき,print()内で100と50はクオテーション( ' or " )で囲まない!
"""
a=100
b=50
c=a+b
print(c)

書いたら,F5を押してデバッグありで実行します。すると,デバッグコンソールには以下のように表示されたと思います。

>_コンソール

150
注意

ここでは,pythonならではの読み方で注意が必要なことを記します。

a=100 の読み取り方に注意しましょう。

NG aと100が等しい
(ちなみに,この意味を記す場合はa==100と記述します)

Good aに100を代入する

けいしゅけ

クセが強いわッ!!イコールで代入ってムリあるやろが (# ゚Д゚)グルァ

ぼく,これメッチャ慣れにくかったですわ💦

ん?パターン2ってめんどくさいだけじゃないですか??

いえいえ,掛け算を見ていくとこの記述方式の素晴らしさがわかります。

Pythonの計算は文字代入を駆使してラクをしよう!

ここから,より具体的な問題を用いて,記入方法に慣れていきます。

数字をガツガツ直接書いてプログラミングするのではなく,文字に代入して後から変更があったとしてもラクになるようにすることを目指しましょう。

掛け算記述の具体的方法(100*1.08=108をプログラミング)

パターン1:直球勝負ver.~数字をぶち込む~

script.py

"""
100*1.08を計算してみる
このとき,print()内で100と1.08はクオテーション( ' or " )で囲まない!
"""
print(100*1.08)

書いたら,F5を押してデバッグありで実行します。すると,デバッグコンソールには以下のように表示されたと思います。

>_コンソール

108

パターン1 応用編:トコトン直球勝負ver.~とにかく数字をぶち込む~

日常のお買い物のような数字が出てきました(軽減税率適用されているというケースを想定してるあたりが変態的ですが💦)。さて,もう少し購入するものが多かったらどうでしょうか。

けいしゅけ

タコちゅけ,たとえばの話をVSCodeで書いてみてよ?

そうやなぁ,リンゴは100円,ミカンは60円でそれぞれ消費税率8%。入れ物が300円で消費税率10%だったとしよか。

300円の入れ物ってなんやねん!?とか言わないでね。10%の消費税率の根拠は!?とかも言わないでほしい。テキトーやから☆

タコちゅけは3000円持ってます。リンゴとミカンで20個ほど買うと決めたアナタ。

・・・リンゴ何個にする?

タコちゅけ

10個にしましゅ💦(なんやねんこの質問)

けいしゅけ

おっけ☆ほんじゃ,VSCodeでおつりを計算してくださーい🎵


タコちゅけの答え

script.py

"""
リンゴは100円(税込み108円)で10個買い,ミカンは60円(税込み108円)で10個買う。
入れ物が300円(税込み330円)で消費税率10%
手持ち金額3000円
おつりはいくら??
"""
print(3000-100*1.08*10-60*1.08*10-300*1.1)

>_コンソール

942
けいしゅけ

正解!

タコちゅけ

あざっす!!直接数字を入れる方式,ラクでいいでちゅ☆

けいしゅけ

……ふむ。

さて,軽減税率やめます。増税で全部税率15%になりました。リンゴは110円でミカンは50円,入れ物は400円になりました。

おつりは?

たこちゅけ

へ?

けいしゅけ

やってみて~!


タコちゅけの答え

script.py

"""
リンゴは100円(税込み108円)で10個買い,ミカンは60円(税込み108円)で10個買う。
入れ物が300円(税込み330円)で消費税率10%
手持ち金額3000円
おつりはいくら??
やっぱり,消費税率は全部15%にしました。リンゴは110円,ミカンは50円,入れ物は400円です
"""
print(3000-100*1.15*10-60*1.15*10-400*1.15)

>_コンソール

700
けいしゅけ

どうやった?

タコちゅけ

めんどくさかった!ほぼ全部書き直しでちゅ💢

あと,数字打つのが増えたらもっとめんどくさいと思いまちゅ💢💢

パターン2 文字に数字を代入してから計算ver.~変化に対応させるッ~

先ほどのように,あとから数式記述を何カ所も買えるのは非常に面倒。そのため,覚えておきたい記述方式を紹介します。そして,こちらがオススメやと思われます。

さっそくやってみます

けいしゅけ

タコちゅけ,ぼくの書いたコードを見てよ。

script.py(コメント入り)

"""
リンゴは100円(税込み108円)で10個買い,ミカンは60円(税込み108円)で10個買う。
入れ物が300円(税込み330円)で消費税率10%
手持ち金額3000円
おつりはいくら??
"""
a=100
#aはリンゴ
b=60
#bはミカン
c=1.08
#cは消費税率8%
d=300
#dは入れ物
e=1.1
#eは消費税率10%
f=3000
#fは手持ち金
g=f-a*10*c-b*10*c-d*e
print(g)

script.py(コメントスッキリver.)

"""
リンゴは100円(税込み108円)で10個買い,ミカンは60円(税込み108円)で10個買う。
入れ物が300円(税込み330円)で消費税率10%
手持ち金額3000円
おつりはいくら??
"""
a=100
b=60
c=1.08
d=300
e=1.1
f=3000
g=f-a*10*c-b*10*c-d*e
print(g)

書いたら,F5を押してデバッグありで実行します。すると,デバッグコンソールには以下のように表示されたと思います。

>_コンソール

942
タコちゅけ

う~ん,まわりくどくないでちゅか?

けいしゅけ

たしかに,めんどうや。

けど,さっきのように消費税率を全部15%,リンゴ110円,ミカン50円,入れ物400円とした場合ね…。

script.py

"""
リンゴは100円(税込み108円)で10個買い,ミカンは60円(税込み108円)で10個買う。
入れ物が300円(税込み330円)で消費税率10%
手持ち金額3000円
おつりはいくら??
➤リンゴ110円,ミカン50円,入れ物400円,税率15%へ変更
"""
a=110
b=50
c=1.15
d=400
e=1.15
f=3000
g=f-a*10*c-b*10*c-d*e
print(g)

>_コンソール

700
タコちゅけ

うわぁ~っ!!!修正しやすい!!

しかも,わかりやすいっ!!

けいしゅけ

実際にVSCodeでこの流れを再現してみてください☆文字代入方式の方が行分けされていて数値の修正がしやすいと感じると思います☆

余りを出す計算,べき乗計算etc…は次回に続くっ!!

さて,いかがでしたでしょうか?数式の取り扱いやプログラミング方法がイメージ出来たら幸いです。自分自身,長いコードを書いていく際に直接記入と文字代入とどっちがカンタン・ラクかを試行してみたく,今回の記事を書いてみました。

かなり単純な計算だったにもかかわらず,数式の中身を書き換える方法はシンプルでいいのですが,もしも間違えた場合にはどこが間違っているのか?を探すのに苦労しそうやなと感じました。もっと複雑なプログラミングをしていくとなると,修正ポイントが探しやすく,修正しやすい記述方法が結果的に楽なのではないかと思われます。

たこちゅけ

そんなことより,余りを出す計算,べき乗計算etc…はやらないんでちゅか?

けいしゅけ

疲れたし,コーヒーでも飲もうよ。ゴールドブレンドぉ~

おしまい


変数のリストから特定要素を取り出すインデックス番号の使い方を覚えようPythonの基礎#14 変数のリストから特定要素を取り出すインデックス番号の使い方を覚えよう変数の中に複数のデータを入れる方法Pythonの基礎#13 変数の中に複数のデータを入れる方法input関数で出力結果に質問と回答欄が表示されるようにするPythonの基礎#12 input関数で出力結果に質問と回答欄が表示されるようにするif文は論理演算子と併せて使えPythonの基礎#11 if文は論理演算子と併せて使え!if文はelseとelifを使いこなすと花開くっ!Pythonの基礎#10 if文はelseとelifで花開くっ!bool型って何ですか?bool型と演算子,if文の関係性を紐解くっPythonの基礎#9 bool型って何ですか?bool型と演算子,if文の関係性を紐解くっ!

今回の記事はここまでや☆

最後まで読んでくださってホンマおおきにっ!!お時間を使って読んでくださったことに心から感謝申し上げます!

\最新記事をメールでお知らせするで/

3,819人の購読者に加わりましょう

けいしゅけ

この記事の感想をコメントしていただけるとメッチャうれしいです!!

ご意見&ご質問も遠慮なく書いてください☆皆さんとの対話を楽しみにしています☆

下のボタンを押すとコメント記入欄へジャンプできますよ~!!

タコちゅけ

ウチのけいしゅけはSNSもやってまちゅ!良ければフォローしてやってくださいでしゅ💛

Twitterでけいしゅけをフォロー

けいしゅけFacebookにいいね!

コメント頂けるとメチャ嬉しいです!