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

Posted 明天就减肥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机输入日期计算星期几(1900年1月1日为基础)相关的知识,希望对你有一定的参考价值。

已知,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日为基础)的主要内容,如果未能解决你的问题,请参考以下文章

2019.7.25锻炼逻辑思维9道题。

初识C语言控制台版万年历

c语言将日期转换为字符串 急求,谢谢!

C语言程序设计;"已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历" 怎么设计啊,速求老师

哪个Excel函数能计算两个日期间的天数?

ACM_黑色星期五