この章では関数で星座の判定を作成します。
このように判定の部分を関数で作成することでコンパクトになり、プログラムがすっきりします。
では説明を始めます。
ユーザーに入力をさせる関数はraw_input関数です。
ここでユーザーが入力をするとその結果は文字列として変数に入ります。
ここでmonthとdayを整数値に変換するためにint関数でキャストしています。
つまり、raw_input関数は文字列を返すので、ここでint関数で整数に変換します。
この配列内は山羊座から順番通りに並んでいます。
決して、ランダムに並んでいるわけではありません。
day1には各星座の月の末日をリストに入れています。
day2には1月から12月までの末日をリストに入れています。
if文はこのように入れ子にすることができます。
つまり、初めのif文がtrueであればさらに入れ子のif文の条件判定に入ります。
例えばdayに19ではなく23が入っていると仮定すると
ここでday2[count]にはday2の0番目の要素である31が入っていますので trueになり、name には
では
「count + 1」をする理由は例えばmonthが1で、day が23の場合には
len(names) を記述している理由は例えば
ですので、
つまり、該当する以下の余りの数字がnames配列の添え字になり、その該当するデータがnameに入ります。