見出し画像

We Love Python (9) ~軽めの運動


停滞したけれど、すすめる。

そもそもNoteを書くということよりも、Pythonのスキルを積まねば、と思っている。
やり方だが、1日少しずつで良いそうだ。その代わり必ず触れる。
出来合いのコードにちょっと手をいれて使いよくするだけでも良いらしい。

今日は何曜日?

西暦で日にちを設定すると、曜日を返してくれる関数がある。
ツェラーの公式、というようだ。

によると、

ツェラーの公式

ただし、1月は前年の13月、2月は前年の14月とする。これが計算のルールだ。
最初の4項目はうるう年に関するルールを示している。第5項はよくわからない。また2~5項にある桶のような記号は床関数というが、要は整数に丸める関数と覚えておけばいい。

Wikiに答えが乗っているが、Pythonで計算してみよう。

def main():

    print(day_of_week(1966, 5, 4))
    

def day_of_week(y, m, d):
    
    weekday = ("日", "月", "火", "水", "木", "金", "土")
    
    y, m = (y-1, m+12) if (m < 3) else (y, m)
    i = (y + y//4 - y//100 + y//400 + (13*m + 8)//5 + d) % 7 
    return weekday[i]

if __name__=="__main__":
    main()

main()の中を式の数字をいろいろ変えてみる。たとえば今日(2025/1/23)は「木」と返すはずだ。

近い将来南海トラフか隕石がやってきて日本が滅ぶとされている日、2025年7月5日は「土」曜日です。この日は(避難の支度で)高台に遊びにいくこと一択だ。比叡山にでもいけばいいかな?

今後の学び方

昨日、こんな本を買ってみた。評判がいいので。

 色々なライブラリを使って、身の回りのデータを動かす実例が山のように乗っている。Python はクラスなんだとかいう話はバッサリ切り捨てて、ただの言語として扱っている姿勢はなかなか良い。ライブラリが出てくるとクラスもインスタンスも用語ででてくるけれどね。



いいなと思ったら応援しよう!