利用公式计算日历(1:Monday,2:Tuesday,….)编写一个程序输入年月日输出星期几
时间: 2024-11-15 16:23:42 浏览: 41
要编写一个简单的程序来计算给定日期对应的星期几,你可以使用Zeller's congruence算法,它是一种计算西方公历日期对应星期的传统方法。下面是一个Python版本的例子:
```python
def get_weekday(year, month, day):
# 校验输入是否有效
if not (1 <= month <= 12) or not (1 <= day <= 31):
return "Invalid date"
# Zeller's congruence
q = day
m = month + 9 // 12 # 对于非闰年,如果月份小于3,则m设为上一年的13月;否则设为当年的1月到12月
K = year % 100
J = year // 100
h = (q + ((13 * (m + 1)) // 5) + K + (K // 4) + (J // 4) - (2 * J)) % 7
weekdays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
return weekdays[h]
# 示例输入
year = int(input("请输入年份: "))
month = int(input("请输入月份(1-12): "))
day = int(input("请输入日期(1-31): "))
weekday_str = get_weekday(year, month, day)
print(f"{year}/{month}/{day} 是 {weekday_str}")
阅读全文