1.已知1800年1月1日是星期三。输入一个日期,使用自定义函数计算是星期几说明:关于日期和时间有专门的包操作。这里不用,自己设计计算

其他类似题有一个bug是输入的天数刚好是在星期天的时候不会显示7,而是0.此处已经修改。 

#判断是否是闰年
def Is_leap_year(year):
    if year%400==0 or year%4==0 and year%100!=0:
        return True
    else:
        return False
#标记每个月份的时间
def Days_in_months(year,month):
    if month in (1,3,5,7,8,10,12):
        return 31
    elif month in (4,6,9,11):
        return 30
    elif Is_leap_year(year):
        return 29
    else:
        return 28

def Total_days(year,month,day):
    days=0
    for y in range(1800,year):
        if Is_leap_year(y):
            days+=366
            days%=7
        else:
            days+=365
            days%=7
    for m in range(1,month):
        days+=Days_in_months(year,m)
        days%=7
    purpose=(days+day+2)%7
    if purpose==0:
        return 7
    return (days+day+2)%7

year=int(input('请输入年份:'))
month=int(input('请输入月份:'))
day=int(input('请输入号数:'))
print("此日星期:",Total_days(year,month,day))

结果如下:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Savor-f

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值