基于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对小数进行除法运算的正确方法示例
Aug 25 Python
简析Python的闭包和装饰器
Feb 26 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
Python切片操作去除字符串首尾的空格
Apr 22 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
TensorFlow设置日志级别的几种方式小结
Feb 04 Python
python能开发游戏吗
Jun 11 Python
python实现excel公式格式化的示例代码
Dec 23 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
php构造函数与析构函数
2016/04/23 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
python与字符编码问题
2019/05/24 Python
在django模板中实现超链接配置
2019/08/21 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
Python中return函数返回值实例用法
2020/11/19 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
幼儿园教师培训制度
2014/01/16 职场文书
借款协议书
2014/04/12 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
搞笑的获奖感言
2014/08/16 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
装配出错检讨书
2014/09/23 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
北京天坛导游词
2015/02/12 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
Python实现批量自动整理文件
2022/03/16 Python
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android