基于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程序
Apr 04 Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
python3.4下django集成使用xadmin后台的方法
Aug 15 Python
python编写Logistic逻辑回归
Dec 30 Python
python实现批量解析邮件并下载附件
Jun 19 Python
python列表,字典,元组简单用法示例
Jul 11 Python
python实现邮件发送功能
Aug 10 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
python 操作mysql数据中fetchone()和fetchall()方式
May 15 Python
python 实时调取摄像头的示例代码
Nov 25 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使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
php简单判断文本编码的方法
2015/07/30 PHP
php将服务端的文件读出来显示在web页面实例
2016/10/31 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
什么是JavaScript
2009/08/13 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
JS比较两个数值的大小实例
2016/11/25 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
Django的分页器实例(paginator)
2017/12/01 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
django初始化数据库的实例
2018/05/27 Python
python 多线程串行和并行的实例
2019/02/22 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
2014年“世界无车日”活动方案
2014/09/21 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
法定代表人证明书
2014/11/28 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers