python 根据公式求一周的星期几 求

用以下公式可以求出一周的第几天

img

h:一周的星期几(0:星期六,1:星期天,2:星期一,3:星期二,4:星期三,5:星期四,6:星期五)
q:是一个月的哪一天
m:是月份(3:三月,4:十月,…,12:十二月),一月和二月都是按照前一年的13月和14月来计数的。
j:是世纪数,即year/100
k:是一个世纪的某一年,即year%100
编写程序,输入一个日期的年、月、日,显示它是一周的星期几。

输入格式:
输入年、月、日

输出格式:
输出是星期几

输入样例:
在这里给出一组输入。例如:

2020
10
27
输出样例:
在这里给出相应的输出。例如:

2020 年 10 月 27 日是 星期二

img

year1=int(input())
mouth1=int(input())
day=int(input())

year=year1
mouth=mouth1


if mouth==1:
    mouth=13
    year=year-1
if mouth==2:
    mouth=14
    year=year-1

j=int(year1/100)
k=year%100

h=(day+int(26*(mouth+1)/10)+k+int(k/4)+int(j/4)+5*j)%7

xq=""
if h==0:
    xq="星期六"
if h==1:
    xq="星期天"
if h==2:
    xq="星期一"
if h==3:
    xq="星期二"
if h==4:
    xq="星期三"
if h==5:
    xq="星期四"
if h==6:
    xq="星期五"

print("%d年%d月%d日是 %s" %(year1,mouth1,day,xq))

1

 

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: YangPC
@time:2021/07/02
@QQ:327844761
@微信公众号:ewbang
"""


# python 根据公式求一周的星期几 求
def fun(year, month, day):
    week = ["六", "日", "一", "二", "三", "四", "五"]
    # 是一个月的哪一天
    q = day
    # 是月份
    m = month
    # 是一个世纪的某一年
    k = year % 100
    # 是世纪数
    j = year // 100
    # 一周的星期几
    h = int((q + 26 * (m + 1) // 10 + k + k / 4 + j / 4 + 5 * j) % 7)
    print(f"{year}{month}{day}日是星期{week[h]}")


if __name__ == '__main__':
    year = int(input("请输入年:"))
    month = int(input("请输入月:"))
    day = int(input("请输入日:"))
    fun(year, month, day)

img