條件文
Python の條件文は基本的に他の言語(yǔ)と同じで、1 つ以上の文の実行結(jié)果 (True または False) によって、実行されるコード ブロックが決まります。
Python プログラミング言語(yǔ)では、ゼロ以外および空 (null) 以外の値は True であり、0 または null は False であると指定されています。
実行フローチャートは次のとおりです:
1. if ステートメントの基本形式
Python では、if ステートメントの基本的な形式は次のとおりです。
if 判斷條件: 執(zhí)行語(yǔ)句…… else: 執(zhí)行語(yǔ)句……
前述したように、Python 言語(yǔ)には厳密なインデント要件があるため、ここでのインデントに注意する必要があります。コロンを少なく書(shū)かないでください: 。
if文の判定條件は、>(より大きい)、<(より小さい)、==(等しい)、>=(以上)、<で表現(xiàn)できます。 ;= (以下)。
例:
# -*-coding:utf-8-*- results=59 if results>=60: print ('及格') else : print ('不及格')
出力結(jié)果は次のとおりです:
不及格
前述のように、ゼロ以外の値、空ではない文字列、空ではないリスト、等はTrue、そうでない場(chǎng)合はFalseと判定されます。
num = 6 if num : print('Hello Python')
2. if 文の複數(shù)の判定條件の形式
場(chǎng)合によっては、判定文を 2 つだけにすることができない場(chǎng)合があります。複數(shù)必要です 例えば上記の例では60點(diǎn)以上であれば合格としますが、90點(diǎn)以上であれば優(yōu)秀と判斷する必要がありますが、80點(diǎn)の間はどうでしょうか。そして90でいいですか?
このとき、if文の複數(shù)の判定條件を使用する必要があります
疑似コードで表現(xiàn)します:
if 判斷條件1: 執(zhí)行語(yǔ)句1…… elif 判斷條件2: 執(zhí)行語(yǔ)句2…… elif 判斷條件3: 執(zhí)行語(yǔ)句3…… else: 執(zhí)行語(yǔ)句4……
例:
# -*-coding:utf-8-*- results = 89 if results > 90: print('優(yōu)秀') elif results > 80: print('良好') elif results > 60: print ('及格') else : print ('不及格')
出力結(jié)果:
良好
3. if文は複數(shù)の條件を同時(shí)に判定できる
PythonにはJavaのようなswitch文がないため、複數(shù)の條件を判定することができます。 elif を使用してのみ実裝できますが、複數(shù)の條件を同時(shí)に判定する必要がある場(chǎng)合は、or (または) を使用できます。これは、2 つの條件のいずれかが true の場(chǎng)合に判定條件が成功することを意味します。and ( を使用する場(chǎng)合)かつ)、これは、同時(shí)に 2 つの條件のみが満たされた場(chǎng)合に、判定條件が成功したことを意味します。
# -*-coding:utf-8-*- java = 86 python = 68 if java > 80 and python > 80: print('優(yōu)秀') else : print('不優(yōu)秀') if ( java >= 80 and java < 90 ) or ( python >= 80 and python < 90): print('良好')
出力結(jié)果:
不優(yōu)秀 良好
注: 條件が複數(shù)ある場(chǎng)合、判定の順序を括弧で區(qū)別できます。括弧內(nèi)の判定が先に実行されます。また、and and or > (より大きい) や < (より小さい) などの判定記號(hào)、つまり括弧なしの「より大きい」と「より小さい」は、and or より優(yōu)先されます。