2023年4月25日是星期二,任意输入某年某月某日,输出这一天是星期几(不能使用与时间日期相关的内置库及第三方函数)用python代码实现,日期用空格空开,即2023空格4空格28
时间: 2024-05-01 07:21:44 浏览: 47
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
好的,我可以通过基姆拉尔森计算公式来实现这个功能。以下是实现代码:
```python
def get_weekday(year, month, day):
# 判断月份是否在1-12之间
if month < 1 or month > 12:
return "输入月份有误!"
# 判断日是否在该月份的天数范围内
if day < 1 or day > get_month_days(year, month):
return "输入日期有误!"
# 基姆拉尔森计算公式
# W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
# 其中,W代表星期几,0为星期日,1为星期一,2为星期二,以此类推
if month == 1 or month == 2:
year -= 1
month += 12
c = year // 100
y = year % 100
m = month
d = day
w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100 + y // 400 + c) % 7
return w
def get_month_days(year, month):
# 判断是否为闰年
is_leap_year = (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
# 判断该月份天数
if month in [1, 3, 5, 7, 8, 10, 12]:
return 31
elif month == 2:
if is_leap_year:
return 29
else:
return 28
else:
return 30
# 测试代码
year, month, day = map(int, input().split())
weekday = get_weekday(year, month, day)
if isinstance(weekday, str):
print(weekday)
else:
print("星期{}".format(weekday))
```
你只需要输入日期,如2023 4 28,就可以输出对应的星期几。
阅读全文