利用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 输出一个两行字符的变量
Feb 05 Python
python生成指定长度的随机数密码
Jan 23 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
python3实现磁盘空间监控
Jun 21 Python
用Python实现读写锁的示例代码
Nov 05 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
使用TensorFlow-Slim进行图像分类的实现
Dec 31 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 Python
详解OpenCV曝光融合
Apr 29 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
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
php版微信开发Token验证失败或请求URL超时问题的解决方法
2016/09/23 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
15 个 JavaScript Web UI 库
2010/05/19 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
JavaScript实现随机点名器
2020/03/25 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
python isinstance函数用法详解
2020/02/13 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
政协调研汇报材料
2014/08/15 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python