栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 打印万年历

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 打印万年历

def isLeap(y):
    return y%400==0 or y%4==0 and y%100!=0
def maxDays(y,m):
    d=30
    if m==1 or m==3 or m==5 or m==7 or m==8 or m==8 or m==10 or m==12:
        d=31
    elif m==2:
        d=29 if isLeap(y) else 28
    return d
def countDays(y,m,d):
    days=d
    if m>=2:
       days+=31
    if m>=3:
       days+=29 if isLeap(y) else 28
    if m>=4:
       days+=31
    if m>=5:
       days+=30
    if m>=6:
       days+=31
    if m>=7:
       days+=30
    if m>=8:
       days+=31
    if m>=9:
       days+=31
    if m>=10:
       days+=30
    if m>=11:
       days+=31
    if m>=12:
       days+=30
    return days
def weekday(y,m):
    w=(y-1)+(y-1)//400+(y-1)//4-(y-1)//100+countDays(y,m,1)
    return w%7
def printMonth(y,m):
    w=weekday(y,m)
    md=maxDays(y,m)
    print("%-6s%-6s%-6s%-6s%-6s%-6s%-6s" %("Sun","Mon","Tue","Wed","The","Fir","Sat"))
    for i in range(w):
        print("%-6s" % " ",end="")
    for d in range(1,md+1):
        print("%-6d" % d, end="")
        w=w+1
        if w%7==0:
           print()
y=input("输入年份:")
y=int(y)
for m in range(1,13):
    print()
    print("-----",y,"年",m,"月-----")
    printMonth(y,m)
    print()

运行结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953988.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号