基于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入门篇之数字
Oct 20 Python
详解Python 装饰器执行顺序迷思
Aug 08 Python
python机器学习实现决策树
Nov 11 Python
python实现二分类的卡方分箱示例
Nov 22 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
May 11 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
深入了解Python 方法之类方法 &amp; 静态方法
Aug 17 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
python实战之90行代码写个猜数字游戏
Apr 22 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
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
php格式化金额函数分享
2015/02/02 PHP
php正则修正符用法实例详解
2016/12/29 PHP
Knockoutjs快速入门(经典)
2012/12/24 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
vue实现手机端省市区区域选择
2019/09/27 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
Python使用functools实现注解同步方法
2018/02/06 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
参赛口号
2014/06/16 职场文书
委托书如何写
2014/08/30 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
2015大学生求职信范文
2015/03/20 职场文书
小学国庆节活动总结
2015/03/23 职场文书
环保证明
2015/06/23 职场文书
2016年安全月活动总结
2016/04/06 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis