利用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之玩转字符串(3)
Sep 14 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
python pycurl验证basic和digest认证的方法
May 02 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
Python动态生成多维数组的方法示例
Aug 09 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
Python3之手动创建迭代器的实例代码
May 22 Python
基于python调用jenkins-cli实现快速发布
Aug 14 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 Python
python3 hdf5文件 遍历代码
May 19 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中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
请离开include_once和require_once
2013/07/18 PHP
jQuery实现长文字部分显示代码
2013/05/13 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
js实现简单模态框实例
2018/11/16 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python运算符重载用法实例
2015/05/28 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
python定义具名元组实例操作
2021/02/28 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
Oakley官网:运动太阳镜、雪镜和服装
2016/09/30 全球购物
美国领先的低折扣旅行网站:Hotwire
2019/01/19 全球购物
进程的查看和调度分别使用什么命令
2013/12/14 面试题
售后求职信范文
2014/03/15 职场文书
竞争上岗实施方案
2014/03/21 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
2015年加油站工作总结
2015/05/13 职场文书
教师节祝酒词
2015/08/11 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
python可视化大屏库big_screen示例详解
2021/11/23 Python
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android