已知2022年1月1日是星期六,输入两个整数m,d,m代表月份,d代表日期,计算并输出该日期是星期几。
时间: 2024-02-22 12:58:31 浏览: 152
利用Java计算某个日期是星期几
5星 · 资源好评率100%
以下是实现计算星期几的Python代码:
```python
def calculateWeekday(m, d):
days_of_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 每个月的天数
days_of_week = ["周六", "周日", "周一", "周二", "周三", "周四", "周五"] # 一周的天数
total_days = 0 # 总天数
for i in range(m - 1): # 计算前m-1个月的天数
total_days += days_of_month[i]
total_days += d - 1 # 加上当月的天数
total_days += 365 * (2022 - 1) # 加上前面的整年天数
total_days += (2022 - 1) // 4 - (2022 - 1) // 100 + (2022 - 1) // 400 # 加上前面的闰年天数
weekday = (total_days % 7 + 6) % 7 # 计算星期几
return days_of_week[weekday]
```
函数调用示例:
```python
m = int(input("请输入月份:"))
d = int(input("请输入日期:"))
weekday = calculateWeekday(m, d)
print(f"{m}月{d}日是{weekday}")
```
函数会根据输入的月份和日期计算总天数,再根据总天数计算星期几,最后返回星期几对应的字符串。函数中用了一个days_of_week列表来存储一周的天数对应的字符串,方便输出结果。注意,为了避免负数取模的问题,计算星期几时需要进行两次模7运算。
阅读全文