码迷,mamicode.com
首页 > 其他好文 > 详细

随机输入日期计算星期几(1900年1月1日为基础)

时间:2018-04-28 21:00:21      阅读:897      评论:0      收藏:0      [点我收藏+]

标签:输入   day   sum   col   随机   lap   判断   closed   技术分享   

已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几

代码如下(未改进),欢迎批评指正

技术分享图片
year=int(input(year))
month=int(input(month))
day=int(input(day))
if year >=1900:#大于等于1900
    ryear =1900
    sum =0
    while ryear < year:#1901
        if ((ryear % 4 == 0) and (ryear %100 !=0))or(ryear % 400 == 0):#云年
            sum+=2
        else:
            sum+=1
        ryear+=1
    #计算月份移动
    mon = month
    r_month = 1
    while r_month < month:#计算到mon月份1号
        if r_month in [1,3,5,7,8,10,12]:
            sum +=3
            sum = sum % 7
        elif r_month in [4,6,9,11]:
            sum +=2
        else:
            if (year % 4 == 0 and year %100 != 0) or (ryear % 400 == 0):
                sum +=1
            else:
                sum +=0
        r_month+=1
    #计算天
    sumday = day -1
    sum+=sumday
    sum = sum % 7
    #根据移动进行判断
    if sum ==1:
        print(星期2)
    elif sum ==2:
        print(星期3)
    elif sum ==3:
        print(星期4)
    elif sum ==4:
        print(星期5)
    elif sum ==5:
        print(星期6)
    elif sum ==6:
        print(星期7)
    else:
        print(星期1)
else:#计算小于1990年
    ye = year
    year +=1
    sum = 0
    while year<1900:
        if (year % 4 == 0 and year %100 !=0) or(year % 400 == 0):#闰年
            sum+=2
        else:
            sum +=1
        year+=1
    #计算月份移动
    mo=month
    month =month+1
    while month <=12:#计算到mon月份1号
        if month in [1,3,5,7,8,10,12]:
            sum +=3
        elif month in [4,6,9,11]:
            sum +=2
        else:
            if (year % 4 == 0 and year %100!=0) or(year % 400 == 0):
                sum +=1
            else:
                sum +=0
        month+=1
    #计算天
    if mo in [1,3,5,7,8,10,12]:
        sum += 31-day+1
    elif mo in [4,6,9,11]:
        sum += 30-day+1
    else:
        if (year % 4 == 0 and year %100 !=0) or (year % 400 == 0):
            sum += 29-day+1
        else:
            sum += 28-day+1
    sum = sum % 7
    #根据移动进行判断
    if sum ==1:
        print(星期7)
    elif sum ==2:
        print(星期6)
    elif sum ==3:
        print(星期5)
    elif sum ==4:
        print(星期4)
    elif sum ==5:
        print(星期3)
    elif sum ==6:
        print(星期2)
    else:
        print(星期1)
print(game over)
星期几

 

随机输入日期计算星期几(1900年1月1日为基础)

标签:输入   day   sum   col   随机   lap   判断   closed   技术分享   

原文地址:https://www.cnblogs.com/rain-chenwei/p/rain_fall_in_love_with_python.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!