基于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获取文件版本信息、公司名和产品名的方法
Oct 05 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
Python中的groupby分组功能的实例代码
Jul 11 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
Python matplotlib学习笔记之坐标轴范围
Jun 28 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
django模板获取list中指定索引的值方式
May 14 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
python中time、datetime模块的使用
Dec 14 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 Python
python如何为list实现find方法
May 30 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
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
javascript Object与Function使用
2010/01/11 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
js实现弹窗效果
2020/08/09 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
举例讲解Python中is和id的用法
2015/04/03 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python列表解析操作实例总结
2020/02/26 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
动物科学专业毕业生的自我评价
2013/11/29 职场文书
竞聘演讲稿范文
2014/01/12 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
员工工作表现评语
2014/04/26 职场文书
服务标语口号
2014/07/01 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
服装店员工管理制度
2015/08/07 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书