基于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 23 Python
跟老齐学Python之大话题小函数(2)
Oct 10 Python
Python操作Word批量生成文章的方法
Jul 28 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Python字典中的键映射多个值的方法(列表或者集合)
Oct 17 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 Python
Python超简单容易上手的画图工具库推荐
May 10 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
Django migrate报错的解决方案
May 20 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
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
eclipse php wamp配置教程
2016/06/30 PHP
ajax 缓存 问题 requestheader
2010/08/01 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
理解javascript对象继承
2016/04/17 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python中的ceil()方法使用教程
2015/05/14 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
PyTorch基本数据类型(一)
2019/05/22 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
外贸业务员工作职责
2014/01/06 职场文书
自我鉴定注意事项
2014/01/19 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
外贸业务员求职信
2014/06/16 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
签订劳动合同通知书
2015/04/16 职场文书
董事会决议范本
2015/07/01 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技