利用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中的变量、引用、拷贝和作用域的问题
Apr 07 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
利用python实现xml与数据库读取转换的方法
Jun 17 Python
Python类的继承和多态代码详解
Dec 27 Python
python处理两种分隔符的数据集方法
Dec 12 Python
python按照多个条件排序的方法
Feb 08 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
linux下python中文乱码解决方案详解
Aug 28 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
python 实现图片特效处理
Apr 03 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
详解JavaScript树结构
2017/01/09 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
更改Ubuntu默认python版本的两种方法python-&gt; Anaconda
2016/12/18 Python
如何利用python查找电脑文件
2018/04/27 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
建筑经济管理专业求职信分享
2014/01/06 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
项目建议书模板
2014/05/12 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python