基于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 类的继承实例详解
Mar 25 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
Python实现识别图片内容的方法分析
Jul 11 Python
实例详解Python模块decimal
Jun 26 Python
python groupby 函数 as_index详解
Dec 16 Python
Django app配置多个数据库代码实例
Dec 17 Python
Pytorch maxpool的ceil_mode用法
Feb 18 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
4种非常实用的python内置数据结构
Apr 28 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
2015/10/12 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
新学期校长寄语
2014/01/18 职场文书
优秀民警事迹材料
2014/01/29 职场文书
总账会计岗位职责
2014/03/13 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
大学军训的体会
2014/11/08 职场文书
商业门面租房协议书
2014/11/25 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
团员年度个人总结
2015/02/26 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书