基于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 可爱的大小写
Sep 06 Python
Python程序设计入门(4)模块和包
Jun 16 Python
python在windows下创建隐藏窗口子进程的方法
Jun 04 Python
Python实现的双色球生成功能示例
Dec 18 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
Python中字符串与编码示例代码
May 20 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
python字符串常规操作大全
May 02 Python
新手必备Python开发环境搭建教程
May 28 Python
详解Python自动化之文件自动化处理
Jun 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
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
JavaScript arguments 多参传值函数
2010/10/24 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
JS实现移动端在线签协议功能
2019/08/22 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
跟老齐学Python之数据类型总结
2014/09/24 Python
python搜索指定目录的方法
2015/04/29 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python如何发送与接收大型数组
2020/08/07 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
个人思想理论学习的自我鉴定
2013/11/30 职场文书
无故旷工检讨书
2014/01/26 职场文书
医学生个人求职信范文
2014/02/07 职场文书
岗位职责风险防控
2014/02/18 职场文书
乳制品整治工作方案
2014/05/29 职场文书
学雷锋的心得体会
2014/09/04 职场文书
标准版离职证明书
2014/09/12 职场文书
运动会加油稿100字
2014/09/19 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
浅谈MySQL user权限表
2021/06/18 MySQL