利用python实现万年历的查询

 更新时间:2021年10月09日 09:18:59   作者:诗一样的代码  
本篇文章主要给大家分享的是python实现万年历的查询,利用python做能够实现万年历查询的一个小功能,感兴趣的小伙伴可以参考一下

今天要用python做一个小功能,那就是实现万年历的查询。

首先看一下整体感觉

实现代码:

def is_leap_year(year):
   if year/4==0 and  year/400 !=0:
       return True
   elif year/100 == 0 and year/400 ==0 :
       return True
  else:
        return False

首先判断是否是闰年,因为计算2月是否有29天有用。

def getMonthDays(year,month):

    days = 31        #31天居多,设置为默认值
    if month == 2 :    #2月份要判断是否是闰年
        if is_leap_year(year):
            days=29
        else:
            days=28;
    elif month in [4,6,9,11]:     #判断小月,只有30天
        days=30
    return days

由年和月份获取指定年月的月份有多少天。

def getTotalDays(year,month):
 
    totalDays=0
    for i in range(1990,year):     #使用range来循环,算出多少年多少天
        if is_leap_year(i):        #判断是否是闰年
            totalDays += 366
        else:
            totalDays += 365
    for i in range(1,month):       #使用range循环,算出今年前面几个月过了多少天
        totalDays +=getMonthDays(year,i)
    return totalDays

获取1990-01-01离现在有多少天,1990-01-01是星期一,以这个为标准来判断。

if __name__ == '__main__':
    while True:                               
        print "××××××××××python实现万年历××××××××"
        year = raw_input("请输入年份(如:1990):")
        month = raw_input("请输入月份:如:1")
        try:                                   
            year = int(year)
            month = int(month)
            if month <1 or month >1:          
                print "年份或者月份输入错误,请重新输入!"
                continue
        except:                                
            print "年份或者月份输入错误,请重新输入!"    
            continue
        break   
        
    print "日\t一\t二\t三\t四\t五\t六"
    iCount = 0      #计数器来判断是否换行
    for i in range(getTotalDays(year,month)%7):
        print '\t',                 #输出空不换行
        iCount+=1
    for i in range(1,getMonthDays(year,month)):
        print i,
        print '\t',
        iCount +=1
        if iCount%7 == 0 :           #计数器取余为0,换行
            print ''

最后只需要输入年份和月份,就能把完整的整个月份的日历打出来。无论是查询以前的日历还是查询未来的日历,都是可以计算出来的。

到此这篇关于利用python实现万年历的查询的文章就介绍到这了,更多相关python实现万年历的查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用rstrip函数删除字符串末位字符

    python使用rstrip函数删除字符串末位字符

    rstrip函数用于删除字符串末位指定字符,默认为空白符,这篇文章主要介绍了python使用rstrip函数删除字符串末位字符的方法,需要的朋友可以参考下
    2023-04-04
  • Python进行常见图像形态学处理操作的示例代码

    Python进行常见图像形态学处理操作的示例代码

    这篇文章主要为大家详细介绍了如何使用Python进行常见的图像形态学处理,例如腐蚀、膨胀、礼帽、黑帽等,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • 解决import tensorflow as tf 出错的原因

    解决import tensorflow as tf 出错的原因

    这篇文章主要介绍了解决import tensorflow as tf 出错的原因,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python 生成任意形状的凸包图代码

    python 生成任意形状的凸包图代码

    这篇文章主要介绍了python 生成任意形状的凸包图代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python采集微信公众号文章

    python采集微信公众号文章

    这篇文章主要为大家详细介绍了python采集微信公众号文章的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Python生成可执行文件之PyInstaller库的使用方式

    Python生成可执行文件之PyInstaller库的使用方式

    PyInstaller是一个十分有用的第三方库,通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理,下面这篇文章主要给大家介绍了关于Python生成可执行文件之PyInstaller库的使用方式,需要的朋友可以参考下
    2022-04-04
  • Python绘制分段函数的实现示例

    Python绘制分段函数的实现示例

    本文主要介绍了Python绘制分段函数的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • conda创建环境过程出现"Solving environment: failed"报错的详细解决方法

    conda创建环境过程出现"Solving environment: failed"报错的详细解

    很长一段时间没用conda了,然后突然使用conda创建环境报错,所以下面这篇文章主要给大家介绍了关于conda创建环境过程出现"Solving environment: failed"报错的详细解决方法,需要的朋友可以参考下
    2022-11-11
  • Python pomegranate库实现基于贝叶斯网络拼写检查器

    Python pomegranate库实现基于贝叶斯网络拼写检查器

    这篇文章主要为大家介绍了Python pomegranate库实现基于贝叶斯网络拼写检查器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-04-04
  • Scrapy基于selenium结合爬取淘宝的实例讲解

    Scrapy基于selenium结合爬取淘宝的实例讲解

    今天小编就为大家分享一篇Scrapy基于selenium结合爬取淘宝的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论