基于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 15 Python
简单了解Python下用于监视文件系统的pyinotify包
Nov 13 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
python中的协程深入理解
Jun 10 Python
关于python字符串方法分类详解
Aug 20 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
python3多线程知识点总结
Sep 26 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
python删除某个目录文件夹的方法
May 26 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 Python
简单的命令查看安装的python版本号
Aug 28 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制作的意见反馈表源码
2007/03/11 PHP
PHP 文件上传全攻略
2010/04/28 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
javascript 数组排序函数
2009/08/20 Javascript
javascript事件问题
2009/09/05 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Django框架中数据的连锁查询和限制返回数据的方法
2015/07/17 Python
Python对数据库操作
2016/03/28 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
python中sys模块是做什么用的
2020/08/16 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
应用心理学个人求职信范文
2013/12/11 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
出纳工作岗位责任制
2014/02/02 职场文书
物业保安员岗位职责
2014/03/14 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
西双版纳导游词
2015/02/03 职场文书
个人优缺点总结
2015/02/28 职场文书
2015年教师节活动总结
2015/03/20 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android