パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

明日がすべてを司る

2018-10-04 | python入門(すぐさまマスター)
お皿を洗っていて、なぜか明日を取得できれば日付関数のおおまかなもの作れるかもと作ってみました。


(画像は偶然できたアライグマ)

日付間の計算をしてみました。
人の一生はだいたい30000日、
翌日計算40000回にしたところで一瞬なんですよね。

作っていて今の暦ってオーガストみたいな名前の皇帝が作ったから8月多いんだなとか考えてました。
よの名をつけた月が短いとかありえん。よの月は一番太陽の力がなければならんとか?
周りの学者が忖度したか?ということでこの皇帝は北半球育ちだなとか。

実行結果
今日から東京オリンピック初日までと
今日生まれた人が寿命少しのびて40000日生きるとした場合の最後の日

680
21241016



#翌日計算
#yyyymmdd
bd=[31,28,31,30,31,30,31,31,30,31,30,31]
def nextday(yyyymmdd):
    y=int(yyyymmdd[:4])
    m=int(yyyymmdd[4:6])
    d=int(yyyymmdd[6:8])
    md=bd[m-1]
    if m==2 and y%4==0 and (y%100!=0 or y%400==0):
        md=bd[1]+1
    ry=y
    rm=m
    rd=d+1
    if d>md:
        rd=1
        rm+=1
        if rm>12:
            rm=1
            ry+=1
    ry=("0000"+str(ry))[-4:]
    rm=("00"+str(rm))[-2:]
    rd=("00"+str(rd))[-2:]
    return ry+rm+rd

sd="20181004"
ed="20200724"

count=0
nd=sd
for i in range(100000):
    nd=nextday(nd)
    count+=1
    if nd==ed:
        print(count)
        break

nd="20181004"
count=0
for i in range(40000):
    nd=nextday(nd)
    count+=1
    if count==40000:
        print(nd)
        break




最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。