-
条件式・if文について
Python3入門
-
今回の目標
1
• 条件分岐について理解する• 条件式について理解する• if文が扱える
目標
-
目次
• コメント(P.3)•条件分岐(P.4-5)•条件式(P.6-7)•比較演算子(P.8-9)• If文(P.10-13)• VScodeの拡張機能(P.14-18)•論理演算子(P.19-28)
2
-
コメント
• プログラムの中に説明文などを書いておける機能, プログラムの動作には関係しない
• Pythonでは文の先頭に「#」を書くことでその行をコメントにできる
3
-
条件分岐とは
• ある条件にあてはまるかどうかで処理を分岐させること
•例)もし明日晴れたら、買い物に行く
この場合, 「明日晴れたら」という条件にあてはまった場合「買い物に行く」という分岐処理を行う
4
-
P.3の条件分岐のイメージ
5
開始
終了
Yes(晴れている)
No(晴れていない)
晴れているか?
買い物に行く
-
条件式とは
•条件分岐させるための条件を条件式というさきほどの例の条件を条件式にすると「明日の天気==晴れ」*となる
•条件式はそれが正しければTrue(真), 正しくなければFalse(偽)という値になる
6
*==で両方が等しいという意味
-
条件式を用いた条件分岐のイメージ
7
開始
終了
True(晴れている)
明日の天気==晴れ
買い物に行くTrueの場合のみ実行する
False(晴れていない)
Falseの場合実行しない
開始
終了
明日の天気==晴れ
買い物に行く
条件式
-
比較演算子
•条件式において, 2つの値を比べるのに使われる記号, それぞれの意味は以下の表を参照
8
比較演算子 記述例 機能
> a > b 左辺が右辺より大きい
< a < b 左辺が右辺より小さい
>= a >= b 左辺が右辺以上
= b 左辺が右辺以下
== a == b 左辺と右辺が等しい
!= a != b 左辺と右辺が等しくない
-
比較演算子を使った条件式
•比較演算子を使った条件式の結果を表示するプログラムが以下のようになる
9
実行結果
-
if文とは
• プログラムの中で条件分岐を書くときに使う文,条件式がTrueのときに後に続く処理を実行する• If文を使うことで「もし〇〇なら, ××をする」といった処理を行うことができる
10
-
if文の書き方
• 「if 条件式 :」ifの後に条件式を書き「:」で閉じる•条件式がTrueのときに行う処理を次の行に書く
11
-
インデント
•字下げのことをインデントという•同じ空白数のインデントのまとまりをブロックと呼ぶ• if文は条件が真のとき、直後のブロック内の処理を実行する
12
この空白がインデント
-
インデント
• if文の中にさらにif文がある場合, さらに字下げした部分がそのif文の中になる
13
-
VScodeの拡張機能
• VScodeの場合, 自動でインデントを行ってくれる
• また,拡張機能でインデントを階層ごとに着色できる
14
-
VScodeの拡張機能
15
拡張機能をクリック
Indent-rainbowと入力
-
VScodeの拡張機能
16
Indent-rainbowを選択
-
VScodeの拡張機能
17
インストールを選択
-
VScodeの拡張機能
• このように階層ごとにインデントが色分けされる
18
-
論理演算子
• 「1以上4以下」のように「1以上」と「4以下」など異なる条件を組み合わせた複雑な条件式の場合, 論理演算子を用いて条件式をかく
19
論理演算子 記述例 機能
and a>b and b>c 左式と右式の両方が満たされたときTrue
or a>b or c>b 左式と右式のどちらかが満たされたときTrue
not not a>b 式がTrueのときFalse, FalseのときTrue
-
and演算子
• andを用いた条件式は左式と右式の真偽の組み合わせによって以下のようになる
20
x>5 TrueTrue True
条件式1 条件式2
and x5 FalseFalseTrue
条件式1 条件式2
and x
-
and演算子を使った条件式
• and演算子を使った条件式の結果を表示するプログラムが以下のようになる
21
-
or演算子
• orを用いた条件式は左式と右式の真偽の組み合わせによって以下のようになる
22
x
-
比較演算子を使った条件式
• or演算子を使った条件式の結果を表示するプログラムが以下のようになる
23
-
not演算子
• notを用いた条件式は式の真偽によって以下のようになる
24
FalseTrue
条件式
not x
-
and, orの演算結果
25
左式 右式 and or
True True True True
True False False True
False True False True
False False False False
• and, orの演算結果は左式, 右式の真偽によって以下の表のようになる
-
notの演算結果
26
式 not
True False
False True
• notの演算結果は式の真偽によって以下の表のようになる
-
複雑な条件式のif文
•実際に論理演算子を用いた条件式のif文は以下のようになる
27
-
論理演算子が複数ある場合
• 「num1が1より大きく3より小さい, もしくはnum2が1より大きく3より小さい」のような論理演算子を複数用いる場合がある• その場合, ()で囲むことによって演算子の優先順位を決めることができる
28
-
まとめ
•条件分岐とは、ある条件にあてはまるかどうかで処理を分岐させること
•条件分岐のための条件を条件式という• Pythonで条件分岐をするにはif文を使う• if文は条件式が真のときに直後のブロック内の処理を行う
•論理演算子を使うことで複雑な条件式が作れる
29