基于python实现简单日历


Posted in Python onJuly 28, 2018

本文实例为大家分享了python实现简单日历的具体代码,供大家参考,具体内容如下

首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几.

# 输出日历界面

print("*" * 50)
print("欢迎使用【天天日历】v2.0")

# 接收用户输入的年份
year_int = int(input("请输入年份:\n"))
# 定义全局变量用于记录天数总和
sum = 0
if year_int >= 1917:
  month_int = int(input("请输入月份\n"))
  for year_every in range(1917, year_int): # 遍历从1917年到用户输入年份 用于计算到用户所输入年份共多少天
    if (year_every % 4 == 0 and year_every % 100 != 0) or \
                year_every % 400 == 0: # 如果是瑞年则366天否则平年365天
      sum += 366
    else:
      sum += 365
  for month_every in range(1, month_int): # 遍历月份用于计算由1月份到用户输入月份的总天数
    if month_every == 4 or month_every == 6 or \
            month_every == 9 or month_every == 11:
      sum += 30
    elif month_every == 2:
      if (year_int % 1 == 0 and year_int % 100 != 0) or \
                  year_int % 400 == 0:
        sum += 29
      else:
        sum += 28
    else:
      sum += 31
  # 定义变量用于定义每个月的天数
  day = 0
  # 定义变量 用于计算当月第一天为周几
  weak = sum % 7

  print("日\t一\t二\t三\t四\t五\t六")
  # 判断用户输入月份为多少天
  if month_int == 4 or month_int == 6 or month_int == 9 or month_int == 11:
    day = 30
  elif month_int == 2:
    if (year_int % 4 == 0 and year_int % 100 != 0) or \
                year_int % 400 == 0:
      day = 29
    else:
      day = 28
  else:
    day = 31
  # 输出指定空格数让第一天与周几对齐
  print("\t"*weak,end="")
  i = 1
  while i <= day: # 遍历用户查询月份
    weakend = ((sum+i)-1)% 7
    # 如果余数为6 换行否则输出空格
    if weakend == 6:
      print("%d" %i)
    else:
      print(i,end="\t")
    i += 1
else:
  print("系统正在维护暂时无法获取1917年之前的信息")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
推荐下python/ironpython:从入门到精通
Oct 02 Python
python网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
有关Python的22个编程技巧
Aug 29 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
Python常见数字运算操作实例小结
Mar 22 Python
flask应用部署到服务器的方法
Jul 12 Python
Python 依赖库太多了该如何管理
Nov 08 Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 Python
Python脚本去除文件的只读性操作
Mar 05 Python
Python 日期与时间转换的方法
Aug 01 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
python使用tcp实现局域网内文件传输
Mar 20 #Python
基于python3实现socket文件传输和校验
Jul 28 #Python
python多进程实现文件下载传输功能
Jul 28 #Python
python如何生成网页验证码
Jul 28 #Python
python3利用tcp实现文件夹远程传输
Jul 28 #Python
python使用tornado实现简单爬虫
Jul 28 #Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 #Python
You might like
用PHP实现Ftp用户的在线管理的代码
2007/03/06 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
xmlHTTP实例
2006/10/24 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
浅析Python 条件控制语句
2020/07/15 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
公司企业表扬信
2014/01/11 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
《凡卡》教学反思
2014/04/09 职场文书
主要负责人任命书
2014/06/06 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
企业整改报告范文
2014/11/08 职场文书
运动会闭幕词
2015/01/28 职场文书