利用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 cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
pandas series序列转化为星期几的实例
Apr 11 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
简单了解python PEP的一些知识
Jul 13 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
python实现贪吃蛇双人大战
Apr 18 Python
AI:如何训练机器学习的模型
Apr 16 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 Python
python中super()函数的理解与基本使用
Aug 30 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
重料打造自己的“宝马”---第三代
2021/03/02 无线电
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
PDO::inTransaction讲解
2019/01/28 PHP
索趣科技的答案
2007/02/07 Javascript
jQuery的三种$()
2009/12/30 Javascript
JQuery小知识
2010/10/15 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python中IPYTHON入门实例
2015/05/11 Python
常见的python正则用法实例讲解
2016/06/21 Python
python如何在终端里面显示一张图片
2016/08/17 Python
python如何实现一个刷网页小程序
2018/11/27 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
python文字转语音实现过程解析
2019/11/12 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
工程师自我评价怎么写
2013/09/19 职场文书
小学生期末评语
2014/04/21 职场文书
仓库管理计划书
2014/05/04 职场文书
说明书怎么写
2014/05/06 职场文书
人力资源求职信
2014/05/25 职场文书
无工作证明怎么写
2015/06/15 职场文书
2016年公司新年寄语
2015/08/17 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL