基于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的汉字转GBK码实现代码
Feb 19 Python
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
Python中的集合介绍
Jan 28 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
python+mysql实现个人论文管理系统
Oct 25 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
Python换行与不换行的输出实例
Feb 19 Python
python开发实时可视化仪表盘的示例
May 07 Python
浅谈Python基础之列表那些事儿
May 11 Python
Python多线程 Queue 模块常见用法
Jul 04 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
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
YII框架http缓存操作示例
2019/04/29 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
Python3字符串学习教程
2015/08/20 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
植树造林的宣传标语
2014/06/23 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
汽车转让协议书范本
2014/12/07 职场文书
办公室岗位职责范本
2015/04/11 职场文书
订货会主持词
2015/07/01 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
anaconda python3.8安装后降级
2021/06/11 Python
原生JS实现分页
2022/04/19 Javascript
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python
Promise静态四兄弟实现示例详解
2022/07/07 Javascript