利用Python函数实现一个万历表完整示例


Posted in Python onJanuary 23, 2021

前言

大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,format()函数可以用来格式化打印字符,format()可以使用字符串去调用,也可以独自使用。

可以点进格式化打印字符了解一下哦

示例代码

# 判断是否闰年
def isleap(year):
 return year % 4 == 0 and year % 100 != 0 or year % 400 == 0

# 判断月的天数
def month_days(year,month):
 if month in [1,3,5,7,8,10,12]:
 return 31
 if month == 2:
 if isleap(year):
 return 29
 else:
 return 28
 return 30

# 1900年到输入年份的总天数
def total_days(year):
 s = 0
 for i in range(1900,year):
 if isleap(i):
 s += 366
 else:
 s += 365
 return s

# 1月到输入月份的天数
def days(year,month):
 s = 0
 for i in range(1,month):
 s += month_days(year,i)
 return s

# 获取某年某月的日历
def monthcalendar(year,month):
 total = total_days(year) + days(year, month)
 a = total % 7
 print('星期日'.center(8, ' '), end='')
 print('星期一'.center(8, ' '), end='')
 print('星期二'.center(8, ' '), end='')
 print('星期三'.center(8, ' '), end='')
 print('星期四'.center(8, ' '), end='')
 print('星期五'.center(8, ' '), end='')
 print('星期六'.center(8, ' '), end='')
 print()
 count = 0
 for i in range(0, month_days(year, month) + a + 1):
 if i <= a:
 print(format(' ','10'), end='')
 count += 1
 else:
 print(format(str(i - a),'^10'), end='')
 count += 1
 if count == 7:
 count = 0
 print()
 print()

# 输出某年一年的日历
def yearcalendar(year):
 for i in range(1,13):
 print(f'{i}月:')
 monthcalendar(year,i)
 print()

# 开始函数
def start():
 while True:
 print('-------欢迎来到万历表查询页面-------')
 print('1.查询某年的日历\n2.查询某年某月的日历\n3.退出查询')
 print('---------------------------------')
 n = int(input('请输入你的操作:'))
 if n == 1:
 year = int(input('请输入要查询的年份:'))
 yearcalendar(year)
 elif n == 2:
 year = int(input('请输入要查询的年份:'))
 month = int(input('请输入1-12:'))
 monthcalendar(year,month)
 elif n == 3:
 print('退出成功')
 break
 else:
 print('指令错误,请重新输入!!!')
if __name__ == '__main__':
 start()

总结

到此这篇关于利用Python函数实现一个万历表的文章就介绍到这了,更多相关Python函数实现万历表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python中marshal对象序列化的相关知识
Jul 01 Python
Python实现爬取逐浪小说的方法
Jul 07 Python
Python实现树莓派WiFi断线自动重连的实例代码
Mar 16 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
Python 25行代码实现的RSA算法详解
Apr 10 Python
Python微医挂号网医生数据抓取
Jan 24 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
使用pip安装python库的多种方式
Jul 31 Python
python实现计算器功能
Oct 31 Python
Python中base64与xml取值结合问题
Dec 22 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
python将YUV420P文件转PNG图片格式的两种方法
Jan 22 #Python
如何使用Python进行PDF图片识别OCR
Jan 22 #Python
详解pandas映射与数据转换
Jan 22 #Python
python实现简单的井字棋游戏(gui界面)
Jan 22 #Python
Django url 路由匹配过程详解
Jan 22 #Python
浅析pandas随机排列与随机抽样
Jan 22 #Python
python 合并多个excel中同名的sheet
Jan 22 #Python
You might like
PHP 加密解密内部算法
2010/04/22 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
javascript 有用的脚本函数
2009/05/07 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
VUE+node(express)实现前后端分离
2019/10/13 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
python的re模块应用实例
2014/09/26 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
python学生管理系统
2019/01/30 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
python tkinter控件布局项目实例
2019/11/04 Python
Python内置加密模块用法解析
2019/11/25 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Python post请求实现代码实例
2020/02/28 Python
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫