已知公元 1 年 1 月 1 日是星期一。编写一个程序,只要输入年月日,就能回答那天是星期几。 设计程序完成下列要求
时间: 2024-02-27 16:59:03 浏览: 81
weblogic10.3.6最新补丁 【2022-1-18日】发布的最新补丁
5星 · 资源好评率100%
以下是一个 Python 代码实现,可以根据输入的年月日计算出那一天是星期几:
```python
def is_leap_year(year):
"""判断是否为闰年"""
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
def get_weekday(year, month, day):
"""计算星期几"""
month_days = [31, 28 + is_leap_year(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 每个月的天数
total_days = day # 当前日期的天数
for i in range(1, month):
total_days += month_days[i - 1] # 加上之前月份的天数
for i in range(1, year):
total_days += 365 + is_leap_year(i) # 加上之前年份的天数
return (total_days + 1) % 7 # 因为 1 年 1 月 1 日是星期一,所以要加 1
# 测试
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
weekday = get_weekday(year, month, day)
weekday_str = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"] # 星期几对应的字符串
print(f"{year}年{month}月{day}日是{weekday_str[weekday]}")
```
这段代码定义了两个函数,`is_leap_year` 函数用于判断是否为闰年,`get_weekday` 函数用于计算星期几。其中,`month_days` 列表存储了每个月的天数,`total_days` 变量用于存储当前日期的天数,通过累加之前年份和月份的天数,最终计算出总天数。由于已知 1 年 1 月 1 日是星期一,所以最后要加上 1,然后对 7 取模,即可得到星期几。最后,根据输入的年月日和计算得到的星期几,输出结果。
阅读全文