基于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选择排序算法实例总结
Jul 01 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
python 性能优化方法小结
Mar 31 Python
Python IDLE清空窗口的实例
Jun 25 Python
详解Django中六个常用的自定义装饰器
Jul 04 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
Oct 16 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
Pytorch中的数据集划分&正则化方法
May 27 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基础知识:控制结构
2006/12/13 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
PHP发送短信代码分享
2015/08/11 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
Python计时相关操作详解【time,datetime】
2017/05/26 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
python ---lambda匿名函数介绍
2019/03/13 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
马来西亚在线购物市场:PGMall.my
2019/10/13 全球购物
给市场的环保建议书
2014/05/14 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
九九重阳节标语
2014/10/07 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android