python实现日历效果
【python实现日历效果】本文实例为大家分享了python实现日历效果的具体代码,供大家参考,具体内容如下
一、代码编程过程
1、根据年月日算出星期几
def get_week_with_data(y,m,d):'''根据年月日计算星期几'''y = y - 1 if m == 1 or m == 2 else ym = 13 if m == 1 else (14 if m == 2 else m)w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100 + y // 400) % 7 + 1return w
2、判断年份是否是闰年
def is_leap_year(y):if y%400==0 or (y%4==0 and y%100!=0):return TruereturnFalse
3、根据月份判断天数
def 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:return 29 if is_leap_year(y) else 28
4、根据用户输入年份和月份,自动生成一个日历
'''1.提示用户输入年月'''year=int(input("请输入年份:"))mouth=int(input("请输入月份:")) '''2.计算这个月有多少天'''days=get_days_in_month(year,mouth)'''3.按照指定格式显示日期'''print('一 二 三 四 五 六 日')print('-'*20)for i in range(1,days+1):w=get_week_with_data(year,mouth,i)if i==1:print(f"{' '*(w-1)*3}",end="")else:if w==1:print("")print(f"{i:2d}",end=' ')print("")
二、代码运行效果图
文章图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- java中如何实现重建二叉树