けんぞーの佐賀で過ごす自堕落な日々

ショートショート作家/けんぞーのショートショート:http://kenzo-shortshort.hatenablog.com/twitter:kenzo_moratoriu

pythonでうるう年判定のプログラムで不明点が…

いま、pythonの勉強中。無職ライフは暇なのだ

下のテキストを読みながらやってる

 

 

サンプルプログラムをエディタに書写して実行してる

 条件分岐の項でうるう年判定のプログラムを書くというのがあって、その中でどうしても分からない箇所がある。下記にそのコードを記す。ページは66ページ

year = int(input("西暦何年 ? "))

# うるう年かどうか判定
is_leap = False 
# (1) 4で割れたらうるう年 -- (*1)
if year % 4 == 0:
  # (2) 100で割れたらうるう年ではない --- (*2)
  if year % 100 == 0:
    # (3) 400で割れたらうるう年 -------------- (*3)
    if year % 400 == 0:
    is_leap = True
   else: # ---------------------------------- (*3)と対応
     is_leap = False
  else: # ------------------------------- (*2)と対応
     is_leap = True
else: # -------------------- (*1)と対応
   is_leap = False

# 結果を表示
if is_leap: # ---- (*4)
 print("うるう年です")
else:
     print("平年です")

 このコードの4行目。『is_leap = False』

これがなんで必要なのか分からない

試しに『False』を『True』に変えても動く。コメントアウトしても動く。なのになぜ必要なのか。なぜこれを書く必要があるのか分からない

だれか分かる方が居たら教えてください

 

【追記】

 解決した。68ページに記載があった

『is_leap』にFalseを代入することで、Trueになる条件のみを順に判定していって変数is_leapの値を変更します 

 これ先に書いておいてくれよ…(まぁ僕も先のページを読めばよかったのだが、上記コードとは異なる書き方をしますよみたいなページにいきなり書かなくても)

どうも、お騒がせしました。