利用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获取网页上图片下载地址的方法
Mar 11 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
关于python的list相关知识(推荐)
Aug 30 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Python爬取成语接龙类网站
Oct 19 Python
python利用跳板机ssh远程连接redis的方法
Feb 19 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
Python中__repr__和__str__区别详解
Nov 07 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
python_tkinter事件类型详情
Mar 20 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获取远程图片体积大小的实例
2013/11/12 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python中协程实现TCP连接的实例分析
2018/10/14 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Python input函数使用实例解析
2019/11/22 Python
PyQt5实现画布小程序
2020/05/30 Python
为什么称python为胶水语言
2020/06/16 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
Sony C++笔试题
2013/03/10 面试题
护理学专业推荐信
2013/12/03 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
小学一年级评语大全
2014/04/22 职场文书
2014年中秋寄语
2014/08/11 职场文书
购房委托书范本
2014/09/18 职场文书
岳庙导游词
2015/02/04 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python
python中的random模块和相关函数详解
2022/04/22 Python
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS
Nginx HTTP跳转至HTTPS
2022/05/15 Servers