🐍
【Python】条件分岐と繰り返し処理
はじめに
Pythonの条件分岐と繰り返し処理についてまとめました。
前回の記事(変数とデータ型)は、こちら!👇
条件分岐
- 条件分岐をおこなうときは、if文を使用する
if文
- 「もしxxならXXをおこなう」というような条件分岐ができる
- 条件文の中では、比較演算子を使用する
sample.py
a = 40
b = 100
if b > a:
print('bはaより大きい') # bはaより大きい
ネストしたif文
- if文は、入れ子にできる
- 入れ子のことを「ネスト」ともいう(これは他の言語でも一緒)
sample.py
a = 40
if a > 10:
print('aは10より大きく、') # この行が実行される
if a > 20:
print('さらに20より大きい') # この行も実行される
else:
print('20よりは小さい') # この行は実行されない!
1行のif文
- 実行する処理が1つの場合、if文と同じ行に処理を記述できる
sample.py
a = 40
b = 100
if b > a : print('bはaより大きい') # この行が実行される
else, elif
-
else
を使用すると、「もしxxならXXをおこなう、そうでなければYYをおこなう」というような条件分岐ができる -
elif
を使用すると、「もしxxならXXをおこなう、もしyyならYYをおこなう、そうでなければZZをおこなう」というような条件分岐ができる
sample.py
a = 100
b = 40
if b > a:
print('bはaより大きい')
elif a == b:
print('aとbは等しい')
else:
print('aはbより大きい') # この行が実行される
pass
- if文の中身を空にすることはできない
- かわりに
pass
を使用する
sample.py
a = 40
b = 100
if b > a:
pass
and
-
and
を使用すると、複数の条件式を組み合わせることができる - すべての条件がTrueのとき、全体がTrueになる(条件1がTrueかつ条件2がTrueの場合、全体がTrueになる)
sample.py
a = 100
b = 30
c = 200
if a > b and c > a:
print('どちらの条件もTrueです') # この行が実行される
or
-
or
を使用すると、複数の条件式を組み合わせることができる - 複数の条件式のうち1つでもTrueがあれば、全体がTrueとなる(条件1がTrueまたは条件2がTrueの場合、全体がTrueになる)
sample.py
a = 100
b = 30
c = 200
if a > b or a > c:
print('少なくとも1つの条件はTrueです') # この行が実行される
not
-
not
を使用すると、条件の否定ができる - 条件式がTrueであればFalseに、FalseであればTrueになる(ややこしい…)
sample.py
a = 50
b = 100
if not a == b:
print('aとbは等しくありません') # この行が実行される
繰り返し処理
- 繰り返し処理をおこなうときは、while文やfor文を使用する
while文
- ある条件がTrueのあいだ繰り返し処理をおこなう
sample.py
i = 1
while i < 5:
print(i) # 1~4までが出力される
i += 1 # この行を忘れると無限ループになるので注意!
break
- すべての項目をループする前に、ループを停止できる
sample.py
i = 1
while i < 5:
print(i) # 1~3までが出力される
if i == 3: # もしiが3であれば、ループを終了する
break
i += 1
continue
- 現在のループを抜けて次のループを実行する
sample.py
i = 0
while i < 5:
i += 1
if i == 3: # iが3であれば、処理をスキップする
continue
print(i) # 1, 2, 4, 5が順番に出力される(3は出力されない)
for文
- リストや辞書の要素を順番に取り出して、繰り返し処理をおこなう
sample.py
animals = ['dog', 'cat', 'cow']
for animal in animals:
print(animal) # dog, cat, cowが順番に出力される
break
- すべての項目をループする前に、ループを停止できる
sample.py
animals = ['dog', 'cat', 'cow']
for animal in animals:
print(animal)
if animal == 'cat': # animalがcatであればループを終了する
break
continue
- 現在のループを抜けて次のループを実行する
sample.py
animals = ['dog', 'cat', 'cow']
for animal in animals:
if animal == 'cat':
continue
print(animal) # dog, cowが順番に出力される(catは出力されない)
おわりに
基本的にはJavaやJavaScriptと同じかなーと感じるのですが、セミコロンとインデントが不要なことにはまだ慣れない…!😂
次回は、関数についてまとめたいと思います〜!💪
参考
Discussion