【Python勉強会】与えられた数値が偶数か奇数かを判定する方法

どうも!リョクちゃです。

今回は、初心に戻ってPythonで偶数か奇数かを判定する方法を紹介し、

プログラムを作っていきます。

これ、意外とプログラミング学びたての人が躓きやすかったりする上、

練習問題では割と早期に出てきますね。ここで挫折する人も多いはず!

ということで、紹介していきます。

ちなみに前回はこちら

プログラミングにおいて練習問題を解くのは誰しもが通る道だと思ってます。ただ練習問題って数も多い上、1つ1つに対してプログラムファイルを作成して管理するのって大変ですよね?そんな時に筆者が取り組んでいる方法を紹介していきます。

偶数・奇数の定義

定義も何も、小学生高学年以上(小学3年生ぐらいから)なら知っての通り、

ある数字を2で割った時に、割り切れる場合割り切れない場合ってありますよね。

ここでいう割り切れているとは、余りが0のことを指します。

割り切れる場合の、数字を偶数っていいます。

⇒ 例) 2は2で割り切れるので偶数ですね。

割り切れない場合の数字を奇数っていいます。

つまり、あまりが発生する数字は奇数になりますね。

⇒ 例) 3は2で割り切ることができないので奇数ですね。

数式で表すと、

$ある数字 ÷ 2 = ?$

右辺の値が、0であれば割り切れているので偶数

0以外であれば、割り切れていないので奇数になります。

偶数・奇数の判定をプログラミングで表すと?

前述で偶数と奇数が何者なのかわかりました。

2で割り切れれば、偶数、割り切れなければ奇数でしたね。

このことから、パターンがあることがわかります。

これを置き換えると、何らかの条件があることがわかります。

ここでいう条件は、2で割り切れるかどうかになります。

この条件をプログラムに組み込んであげることができれば、

偶数と奇数を判定させることができますね。

さて、プログラムに条件を組み込む…にあたって、何が必要かを考えていくことになります。

(言葉が難しいですね。。。)

プログラムでは、与えられる条件によって動作(処理)を変える場合が、

モノによってはあります。例えば、家庭にあるエアコンで説明すると、

エアコンには、リモコンがありますね。このリモコンよく見ると、

冷房“、”暖房“、”除湿“といったボタンがあります。

これらのいずれかを押すことで、その機能を使うことができます。

冷房を押すと、エアコンから冷気が流れ、部屋の温度を下げてくれますね。

一方で暖房を押すと、エアコンから暖気が流れ、部屋の温度を上げてくれます。

このように、あるボタンを押すと、それに合わせた動作をしてくれます。

これが条件による分岐を表しています。

これを偶数と奇数に当てはめてみると、

こんな感じですね、あとはこれをプログラムコードで表せれば、

偶数と奇数を判定できますね。

偶数と奇数を判定するプログラムの実装

それでは、条件分岐について、Pythonで実装する場合は、以下のように表現できます。

if 条件式 :

    処理1

else :

    処理2

というような記述で表現ができます。

詳しくは、こちらで解説してるので、興味のある方は一度ご覧ください。

Pythonを勉強したてで条件分岐の使い方がわからない?といった悩みはないでしょうか?また条件分岐でつまづいてプログラムを挫折してしまったなどの悩みについて、解決ができるように条件分岐であるif文についてさらっと紹介をしています。初学者や悩まれている方の少しでも参考になれば嬉しいです。

条件式には、先ほどの”ボタンがON”や”3 ÷2 = ?”が入ります。

条件式に当てはまる場合は、処理1が動作し、当てはまらない場合は処理2が動作します。

これを2で割り切れるかどうかで当てはめてみると、

if X ÷ 2 = 0(条件式):

割り切れる場合の処理(処理1)

else:

割り切れない場合の処理(処理2)

※()内の表記は補足

ちなみに”X”は与えられた”ある数字”になります。

と、こんな風に記述することができますね!

こうして1つずつを当てはめていくと簡単ですね。

図に書いて、文法に落とし込んでいくとわかりやすいですよ。

スポンサーリンク




Pythonで表現

これを正しく、Pythonで表現すると、以下の通りになります。

また、図で表すと

いくつか補足すると、

print()()内の値を出力してくれる関数です。

ここでは、偶数であれば、”偶数です”、奇数であれば”奇数です”と出力してくれます。

また、Xは与えられた数字が代入されます。

input()では、私たちユーザが何らかの数字を入力した結果をXに代入します。

int()されているのは、与えられた結果は文字として扱われてしまうので、

数字として扱えるように変換をします。

条件式として記述した、X % 2 = 0は、Pythonでは割り算は、

/(スラッシュ)“で表されるのですが、偶数と奇数を判定する場合、

余りが0であるかどうかが判断のポイントとなります。

X / 2としてしまうと、結果としては”“が返されてしまうため、

期待する結果が返ってきません。

そのため、X % 2とすることで”余り“を取得しています。



関数化してみる

ちょこっと応用的なことをしてみます。先ほど書いたプログラムでは、汎用性がなく、

いつでも利用したいってなった時、いちいち書いていかないといけません。

それだと、面倒くさいので、いつでも呼び出せるよう関数化しちゃいます。

関数を呼び出した時、trueが返ってきたら偶数でfalseが返ってきたら奇数になります。

意外と使い道はあるかと思います。

まとめ

例えをお見せしながら、説明していきましたが、難しいですね。

かえってわかりづらくなってしまったかもしれません。

今回大事なのは、条件の分岐、Pythonで表現すると、if文になります。

これさえ、覚えておけば、どうにか偶数、奇数の判定はできます。

条件分岐のいろいろについてはこちら

Pythonを勉強したてで条件分岐の使い方がわからない?といった悩みはないでしょうか?また条件分岐でつまづいてプログラムを挫折してしまったなどの悩みについて、解決ができるように条件分岐であるif文についてさらっと紹介をしています。初学者や悩まれている方の少しでも参考になれば嬉しいです。

更には、これを関数化することで、いつでも判定することができるコードの完成です。

関数については、こちら

Pythonにおける関数の作り方(定義の仕方)を簡単に紹介しています。関数を覚えると、コードの可読性向上にもつながったり、問題が起きている場所の特定が容易になったり、再度利用することに対する利便性向上といった様々なメリットがあります。

関数に渡す引数にはどんな引数があるか、それぞれ紹介をしています。使い方や書き方を覚えることでさらにステップアップをしていきましょう。

まずは、書いてみて動き方がわかってきたら、

どんなことができるのか考えてみるといいです。

最後までお読みいただきありがとうございます。

・こちらの書籍を参考にPythonの理解を深めました。

スポンサーリンク