要約
本日は、Pythonで以下を学びました。
3種類のif文
・if-else構文
・ifのみの構文
・if-elif構文
if文のネスト
#if文をネストさせてみましょう
print('すべての質問にyesまたはnoで答えてください>>')
nurse_life = input('将来、看護師になりますか?')
#----看護師になりたい場合----#
if nurse_life == 'yes':
print('あなたは将来、看護師になります!')
#----看護師にならない場合----#
elif nurse_life == 'no':
public_health_nurse = input('あなたは将来、保健師になりますか?')
#----保健師になる場合----#
if public_health_nurse == 'yes':
print('あなたは将来、保健師になります!')
elif public_health_nurse == 'no':
data_engineer = input('将来、データエンジニアになりますか?')
#----データエンジニアになる場合---#
if data_engineer == 'yes':
print('あなたは将来、データエンジニアになります!')
#----それ以外の場合---#
else:
print('将来が読めません・・・')
else:
print('yesまたはnoで正しく答えてください') #ここで質問にループさせる必要あり。
else:
print('yesまたはnoで正しく答えてください') #ここで質問にループさせる必要あり。
はじめに
前回は「条件式」について学びました。
今回は、分岐構文のバリエーションについて学習します。
分岐構文のバリエーション
3種類のif文
if文には3つのバリエーションがあります。
・if-else構文
・ifのみの構文
・if-elif構文
これまでは基本形のif-else構文を学んできました。
残りの2つは条件式の結果がFalseの場合に、if-else構文とは違った処理の流れになります。
if-else 構文
基本形となるif-else構文は、条件式が成立したときと、成立しなかったときで処理を分岐できます。
if-else 構文
if 条件式:
条件式が成立したときの処理
else :
条件式が成立しなかったときの処理
ifのみの構文
条件式が成立しなかったときには何もしない場合、elseブロックは空になります。
このような場合には、elseブロックを省略できます。
ifのみの構文
if 条件式:
条件式が成立したときの処理
#ifのみの構文を作成していきます
license = ['看護師' , '保健師' , '医療情報技師' , '第1種滅菌技師']
print(f'持っている資格は {license} です!')
if '看護師' in license:
print(f'あら、看護師さんなんですね!')


看護師あるあるですね!!
ちなみに、Pythonでは空のブロックを禁じているため、ifのみの構文を使用せずに、何も処理しない空のelseブロックを書くとエラーになります。
あえてブロックの中を空にしたい場合は、passとだけ書いて、何もしないことを表明する必要があります。
if-elif 構文
条件式が成立しなかったときには別の条件式で判定した場合は、
ifブロックのあとにelifブロックを追加したif-elif構文を使用します。
elifとは「else if」「もしAならば~、そうでなくBならば~」を省略したものです。
elifの数には制限はなく、条件式を先頭から順に判定していき、最初にTrueに判定された条件式のブロックが実行されます。
また、すべての条件式がFalseだったときに何もする必要がなければ、最後のelseブロックを省略できます。
if-elif 構文
if 条件式1:
条件式1が成立したときの処理
elif 条件式2:
条件式1が成立せず、条件式2が成立したときの処理
⫶
elif 条件式n:
上記の条件式がすべて成立せず、条件式nが成立したときの処理
else:
すべての条件式が成立しなかったときの処理
※else ブロックを省略するときは、else: 自体を書かない。
if文のネスト
if文のブロックに、また別のif文を入れることもできます。
このような多重構造を、コンテナのときと同様に、ネストや入れ子といいます。
if文をネストすると、複雑な分岐を実現できます。
if文をネストする場合は、意図とインデントが合致しているか、注意が必要です。
例文を使って、if文をネストさせてみましょう。
#if文をネストさせてみましょう
print('すべての質問にyesまたはnoで答えてください>>')
nurse_life = input('将来、看護師になりますか?')
#----看護師になりたい場合----#
if nurse_life == 'yes':
print('あなたは将来、看護師になります!')
#----看護師にならない場合----#
elif nurse_life == 'no':
public_health_nurse = input('あなたは将来、保健師になりますか?')
#----保健師になる場合----#
if public_health_nurse == 'yes':
print('あなたは将来、保健師になります!')
elif public_health_nurse == 'no':
data_engineer = input('将来、データエンジニアになりますか?')
#----データエンジニアになる場合---#
if data_engineer == 'yes':
print('あなたは将来、データエンジニアになります!')
#----それ以外の場合---#
else:
print('将来が読めません・・・')
else:
print('yesまたはnoで正しく答えてください') #ここで質問にループさせる必要あり。
else:
print('yesまたはnoで正しく答えてください') #ここで質問にループさせる必要あり。





if文をネストさせることができました!
エラーがでないように、想定していない入力に対するprintも一部入れてます!
まとめ
本日は、Pythonで以下を学びました。
3種類のif文
・if-else構文
・ifのみの構文
・if-elif構文
if文のネスト
#if文をネストさせてみましょう
print('すべての質問にyesまたはnoで答えてください>>')
nurse_life = input('将来、看護師になりますか?')
#----看護師になりたい場合----#
if nurse_life == 'yes':
print('あなたは将来、看護師になります!')
#----看護師にならない場合----#
elif nurse_life == 'no':
public_health_nurse = input('あなたは将来、保健師になりますか?')
#----保健師になる場合----#
if public_health_nurse == 'yes':
print('あなたは将来、保健師になります!')
elif public_health_nurse == 'no':
data_engineer = input('将来、データエンジニアになりますか?')
#----データエンジニアになる場合---#
if data_engineer == 'yes':
print('あなたは将来、データエンジニアになります!')
#----それ以外の場合---#
else:
print('将来が読めません・・・')
else:
print('yesまたはnoで正しく答えてください') #ここで質問にループさせる必要あり。
else:
print('yesまたはnoで正しく答えてください') #ここで質問にループさせる必要あり。
次回は「繰り返し」を扱っていきます。



ifを使って多分岐するプログラミングが書けるようになりました!