基于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 相关文章推荐
django上传图片并生成缩略图方法示例
Dec 11 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
利用python循环创建多个文件的方法
Oct 25 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
python 计算数据偏差和峰度的方法
Jun 29 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Python处理session的方法整理
Aug 29 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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
PHP5 字符串处理函数大全
2010/03/23 PHP
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python记录程序运行时间的三种方法
2017/07/14 Python
Python reduce()函数的用法小结
2017/11/15 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
python Timer 类使用介绍
2020/12/28 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
如何利用find命令查找文件
2015/02/07 面试题
网络教育自我鉴定
2013/11/01 职场文书
新三好学生主要事迹
2014/01/23 职场文书
企业负责人任命书
2014/06/05 职场文书
应聘护士求职信
2014/07/21 职场文书
长城英文导游词
2015/01/30 职场文书
Python之基础函数案例详解
2021/08/30 Python
Java 在线考试云平台的实现
2021/11/23 Java/Android