国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實(shí)現(xiàn)的簡單萬年歷例子分享

2019-11-25 18:26:22
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:
#!/usr/bin/env python2
#-*- coding:utf-8 -*-
__author__ = 'jalright'

"""
使用python實(shí)現(xiàn)萬年歷
"""

def is_leap_year(year):
    """
判斷是否是閏年,返回boolean值
    """
    if year/4==0 and  year/400 !=0:
        return True
    elif year/100 == 0 and year/400 ==0 :
        return True
    else:
        return False

def getMonthDays(year,month):
    """
獲取指定年月的月份有多少天
    """
    days = 31        #31天居多,設(shè)置為默認(rèn)值
    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):
    """
獲取1990-01-01離現(xiàn)在有多少天,1990-01-01是星期一,以這個(gè)為標(biāo)準(zhǔn)來判斷星期
    """
    totalDays=0
    for i in range(1990,year):     #使用range來循環(huán),算出多少年多少天
        if is_leap_year(i):        #判斷是否是閏年
            totalDays += 366
        else:
            totalDays += 365
    for i in range(1,month):       #使用range循環(huán),算出今年前面幾個(gè)月過了多少天
        totalDays +=getMonthDays(year,i)
    return totalDays


if __name__ == '__main__':
    while True:                                 #循環(huán)判斷是否輸入錯(cuò)誤的格式
        print "××××××××××python實(shí)現(xiàn)萬年歷××××××××"
        year = raw_input("請輸入年份(如:1990):")
        month = raw_input("請輸入月份:如:1")
        try:                                    #捕捉輸入異常格式和月份的正確
            year = int(year)
            month = int(month)
            if month <1 or month >1:            #判斷月份是否輸入錯(cuò)誤,錯(cuò)誤就重新開始循環(huán)
                print "年份或者月份輸入錯(cuò)誤,請重新輸入!"
                continue
        except:                                 #捕捉到轉(zhuǎn)換成整型異常,輸出提示,重新開始循環(huán)
            print "年份或者月份輸入錯(cuò)誤,請重新輸入!"   
            continue
        break     #如果沒有異常就跳出循環(huán)
    #if is_leap_year(year):
    #    print "%s是潤年"%year
    #else:
    #    print "%s是平年"%year
    #print "%s月份總共有%s天!"%(month,getMonthDays(year,month))

    print "日/t一/t二/t三/t四/t五/t六"
    iCount = 0      #計(jì)數(shù)器來判斷是否換行
    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 :           #計(jì)數(shù)器取余為0,換行
            print ''

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开化县| 荆州市| 通辽市| 高邑县| 昭苏县| 罗江县| 襄汾县| 彭泽县| 铜鼓县| 崇州市| 永仁县| 喜德县| 赤水市| 祥云县| 云阳县| 松溪县| 禄劝| 锦屏县| 白城市| 航空| 万宁市| 汝州市| 长子县| 乳山市| 遵化市| 孝义市| 宽甸| 溧阳市| 信阳市| 鹿邑县| 荥阳市| 凤翔县| 泸水县| 安远县| 顺平县| 阜南县| 祁阳县| 潮安县| 綦江县| 南召县| 南昌县|