Pythonで比較演算子・論理演算子を使って条件分岐を行う方法を紹介します。
Pythonで条件分岐を行うプログラムってどうやって書くんですか?
条件分岐は基本的なプログラミング言語と同じで、while文、if文等で書くことができるよ。ただ、書き方がちょっと違うから、Pythonのルールを覚える必要があるんだよ。
今日はPythonで比較演算子を使って、プログラムを書いてみよう。
【この記事の対象者】
・Pythonの条件分岐方法を学びたい方
・for文、if文、while文の使い方を学びたい方
・簡単なプログラムを作ってみたい人
今回の内容の参考としてこちらの本をおすすめします。基礎的な内容が詳しく書いてあるので、Pythonを学ぶ初心者におすすめです。
また、Pythonのプログラミングを学ぶにあたって、Udemyの講座が動画で非常にわかりやすくおすすめです。1500円程度でプロの専門家から20時間以上の講座を購入することができるので、Python を1から効率よく安価に勉強することができます。
↓↓↓↓↓↓↓↓↓おすすめ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Python 3 入門+アメリカのシリコンバレー流コードスタイル
if文/else文/elif文の使い方
ではif文を使ってみます。if文は”もし○○であれば××する”ようなことを行うことができます。例えば、次のプログラムを作成します。
例1 xが0より小さい場合は’negative’、x=0の場合は’x=0’、xが0より大きい場合は’positive’と表示するプログラムを作成
上記プログラムをxの値を0, 10, -10と変更し実行すると、下記表の結果が出てきます。
xの値 | 実行結果 |
x = 0 | x=0 |
x = 10 | positive |
x = -10 | negative |
こんな形で、if文、 else文、elif文を使用することができます。コードの意味合いとしては、もしxが0より小さい場合は、’negative’と表示、x=0の場合は、’x=0’と表示、それ以外は、’positive’と表示となっております。
非常に簡単です。
例2 二つの変数の正・負の判定を行うプログラムを作成する
上記プログラムでa, bの値を表のように変化すると実行結果は表のようになります。
aの値 | bの値 | 実行結果 a | 実行結果 b |
10 | 0 | a= positive | b=0 |
-5 | -5 | a=negative | b=negative |
0 | 0 | a=0 | b=0 |
こんな結果になりますので、一度実際にやってみてください。
while文の使い方
while文は条件が成立するまで繰り返し処理を実行し続ける構文になります。実際に使ってみましょう。
例1 0~9までprintするプログラム
上記プログラムを実行すると、0から9まで数値がプリントされるプログラムになります。他のプログラムなどでは、count=count+1などと書いても同じ実行となりますが、Pythonでは上記のように”+=1”を使用することで同じことができます。
プログラムの中身としては、count=0の値からcount<10となるまで、print(count)を実行するプログラムとなります。countは1ずつ増加するので、0~9までの数値が実行結果に表示されます。
デバッグの使用方法
上記のようなプログラムに対して、デバッグを使用すると、プログラムの流れがよくわかります。Visual studio Codeでは、プログラムコードの脇に赤丸を付けます。
デバッグを行うとこの赤丸の位置でプログラムを止めることができます。実際にやってみます。
この状態で、デバッグを実行し、再生ボタン(続行)を押すと、この赤丸部位で一度プログラムが止まります。再度続行ボタンを押すと、print(count)が実行されます。これにより、最初の値の”0″が表示されます。これを繰り返すと、コマ送りでプログラムを実行でき、流れを理解できます。
また、countの値に2と表示されていますが、現在のcountの値を表示することができます。
プログラムが複雑になった場合にはこのデバッグ機能を使用してみましょう。
例2 乱数から5がでるまで繰り返すプログラムを作成する
乱数のライブラリをはじめにimportしてください。下記プログラムを実行すると、実行結果はこのようになります。
<プログラムコード>
<実行結果>
プログラムの中身としては、rand_num(乱数)が4と異なる場合は、rand_numに新しい乱数を入れ、print()を実行するプログラムになります。そのため実行結果に4が出るまで、print()を繰り返した結果になります。占いとかにも使えますね。
例3 上記プログラムをwhile True, continue とbreak文を使用して作成してみる
次に、continueとbreakを使用して上記と同じ内容のプログラムを書いていきます。continue, break文の意味はこちらの表のようになります。
continue | ブロックの中にある以降のコードをすべて無視して、繰り返しの先頭に戻ります |
break | 以降のコードをすべて無視して、繰り返し処理を強制終了する |
continue, breakはif文と合わせて使うことができるキーワードになります。
上記プログラムコードを下記、実行すると、同様に乱数から4が出るまでprintを繰り返すプログラムになります。プログラムの中身は、rand_numが4出ない場合(!=)rand_numに新しい乱数を入れ続けるプログラムになります。rand_num=4となると、breakに飛び、プログラムを終了します。
Pythonでは短いコードでプログラムを作成できますが、空白(インデント)が異なっていると、プログラムが回らないなどのルールがあります。これらの暗黙のルール等もUdemyではプロの専門家の講師が教えてくれるため、一度Udemyを受講することをおすすめします。