日历(Python)

编程入门 行业动态 更新时间:2024-10-25 12:22:52

<a href=https://www.elefans.com/category/jswz/34/1771006.html style=日历(Python)"/>

日历(Python)

用Python写一个日历

计算公式

w=(d+2*m+3*(m+1)//5+y+y//4-y//100+y//400)%7+1

如果是一月或者二月的话,需要把1、2月当做上一年的13、14月使用

代码

def get_week_with_date(y,m,d):'''根据年月日计算星期几'''#把1、2月当做上一年的13、14月使用if m==1 :y=y-1m=13elif m==2:y=y-1m=14#使用公式计算出星期几并返回w=(d+2*m+3*(m+1)//5+y+y//4-y//100+y//400)%7+1return wdef is_leap_year(y):'''判断是否为闰年'''if year%400==0 or (year%4==0 and year%100!=0):return Trueelse:return Falsedef get_days_in_month(y,m):'''获取指定月份的天数'''if m in [1,3,5,7,8,10,12]:return 31elif m in [4,6,9,11]:return 30else:if is_leap_year(y) :return 29else:return 28'''1.提示用户输入年月'''
year=int(input("请输入年份:"))
month=int(input("请输入年份:"))'''2.计算这个月有多少天'''
days=get_days_in_month(year, month)'''3.按照指定格式显示日期'''
print("一 二 三 四 五 六 日")
print("-"*20)
for i in range(1,days+1):w=get_week_with_date(year, month, i)if i==1 :print(f"{' '*(w-1)*3}",end="")else:if w==1 :print("")print(f"{i:02d}",end=" ")
print("")

输出效果

 

更多推荐

日历(Python)

本文发布于:2024-02-26 09:50:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1702090.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:日历   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!