基于python实现简单日历

 更新时间:2021年08月24日 09:41:21   作者:WangF0  
这篇文章主要为大家详细介绍了基于python实现简单日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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中not not x 与bool(x) 的区别

    python中not not x 与bool(x) 的区别

    这篇文章主要介绍了python中not not x 与 bool(x) 的区别,我们就来做一个选择,就是 not not x 和 bool(x) 用哪个比较好?下面一起进入文章看看吧

    2021-12-12
  • 使用Python横向合并excel文件的实例

    使用Python横向合并excel文件的实例

    今天小编就为大家分享一篇使用Python横向合并excel文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python中列表、字典、元组数据结构的简单学习笔记

    Python中列表、字典、元组数据结构的简单学习笔记

    这篇文章主要介绍了Python中列表、字典、元组数据结构的简单学习笔记,文中讲到了字典在Python3中特性和操作方法的一些变化,需要的朋友可以参考下
    2016-03-03
  • Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例

    Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例

    这篇文章主要介绍了Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能,涉及Python基于re模块的正则匹配及selenium模块的页面抓取等相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Python中的各种装饰器解析

    Python中的各种装饰器解析

    这篇文章主要介绍了Python中的各种装饰器解析,Python装饰器可以在不改变函数原实现方式的前提下,为函数添加额外的功能,需要的朋友可以参考下
    2023-11-11
  • numpy工程实践之np.savetxt()存储数据

    numpy工程实践之np.savetxt()存储数据

    NumPy提供了多种存取数组内容的文件操作函数,保存数组数据的文件可以是二进制格式或者文本格式,下面这篇文章主要给大家介绍了关于numpy工程实践之np.savetxt()存储数据的相关资料,需要的朋友可以参考下
    2023-05-05
  • Python包管理工具pip用法详解

    Python包管理工具pip用法详解

    本文详细讲解了Python包管理工具pip的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • python实现的web监控系统

    python实现的web监控系统

    这篇文章主要介绍了python实现的web监控系统,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • python实现WebP格式转成JPG、PNG和JPEG的方法

    python实现WebP格式转成JPG、PNG和JPEG的方法

    平时在网上搜索图片,另存为时常常遇到 WebP 格式,而非常见的 JPG、PNG、JPEG 格式,所以以此文记录一下WebP的读取和转换方法,希望对大家有所帮助,需要的朋友可以参考下
    2024-06-06
  • OpenCV半小时掌握基本操作之傅里叶变换

    OpenCV半小时掌握基本操作之傅里叶变换

    这篇文章主要介绍了OpenCV基本操作之傅里叶变换,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论