用zeller公式计算星期。用python写代码
时间: 2023-05-27 07:02:24 浏览: 135
Zeller公式是计算一个给定日期是星期几的公式。
公式如下:
h = (q + (13*(m+1)/5) + K + (K/4) + (J/4) - 2*J) % 7
其中,
h:表示星期。0表示星期天,1表示星期一,以此类推。
q:表示日期。
m:表示月份。如果是1月或2月,将其视为上一年的13月和14月。例如,2022年1月,m应该是13。
K:表示世纪数。公式中是用年份的前两位除以4计算得出的。例如,2022年,K应该是20。
J:表示世纪的剩余数。公式中是用年份的后两位数与100相除,再加1。例如,2022年,J应该是22。
下面是使用Python编写的代码:
``` python
def zeller(q, m, K, J):
if m == 1 or m == 2:
m += 12
K -= 1
h = (q + int(13*(m+1)/5) + K + int(K/4) + int(J/4) - 2*J) % 7
return h
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
K = year // 100 # 得到世纪数
J = year % 100 + 1 # 得到世纪的剩余数
h = zeller(day, month, K, J)
week_dict = {
0: '星期天',
1: '星期一',
2: '星期二',
3: '星期三',
4: '星期四',
5: '星期五',
6: '星期六'
}
print(f"{year}年{month}月{day}日是{week_dict[h]}")
```
示例输入:
```
请输入年份:2022
请输入月份:1
请输入日期:1
```
示例输出:
```
2022年1月1日是星期六
```
阅读全文