条件によって処理をしたり、しなかったりするには、if
文を使う。
if
文の後、インデントした2行目から同じインデントが終わるまでが処理。真偽値(条件式)がTrue
なら実行される。
if 条件式:
処理 # 条件式がTrueなら実行
# インデント終了までがif文の処理
条件が成立しない場合の処理を追加するなら、else:
を使う。
if 条件式:
処理 # 条件式がTrueなら実行
else:
処理 # 条件式がFalseなら実行
条件を複数用意して順番に判断していく場合は、elif
を使う。いったん条件が成立したら、それ以降の条件は判断せずif
文の終了となる。
if 条件式1:
処理 # 条件式1がTrueなら実行し、if文から抜ける
elif 条件式2:
処理 # 条件式2がTrueなら実行し、if文から抜ける
else:
処理 # どの条件式もFalseなら実行
例として閏年の判定をif
文でしている。
# プログラム終了はCtrl+c
while True: # 判定を繰り返す
西暦 = int(input('西暦> ')) # 入力を整数に変換
if 西暦 % 400 == 0: # 400で割り切れる
print("閏年")
elif 西暦 % 100 == 0: # 100で割り切れる
print("平年")
elif 西暦 % 4 == 0: # 4で割り切れる
print("閏年")
else:
print("平年")
同じことを条件をまとめてやるなら、
while True:
西暦 = int(input('西暦> ')) # 入力を整数に変換
if 西暦 % 400 == 0 or ( 西暦 % 100 != 0 and 西暦 % 4 == 0):
print("閏年")
else:
print("平年")
オブジェクトそのものも真偽値判定に使える。下記は''
(空文字)がFalse
になることを利用して、文字入力を求めるもの。
while True:
入力 = input('空文字禁止> ')
if 入力:
break
print(入力)