定义一个日期的的类Date,该类中属性包括年、月、日等,方法包括dayinyear()(求该天在该年中第几天)、dayinweek()(求该天是星期几)。输入1组年、月、日的值,创建一个Date类的对象day1并输出其该日期是第几天、星期几。 根据日期计算是星期几的公式如下: W = ((Y-1) + ((Y-1)//4) - ((Y-1)//100) + ((Y-1)//400) + D)%7 Y指这一年是公元多少年,D指这一天是这一年的第几天,W是指星期几 【注意】第1行为输入,第2\3行为输出。格式不同算错:
时间: 2024-02-24 16:58:13 浏览: 43
```python
# 输入年月日
year, month, day = map(int, input().split())
# 定义 Date 类
class Date:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
def is_leap_year(self):
# 判断是否是闰年
if self.year % 4 == 0 and self.year % 100 != 0 or self.year % 400 == 0:
return True
else:
return False
def dayinyear(self):
# 求该天是该年的第几天
days_in_month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if self.is_leap_year():
days_in_month[2] = 29
day_count = 0
for m in range(1, self.month):
day_count += days_in_month[m]
day_count += self.day
return day_count
def dayinweek(self):
# 求该天是星期几
W = ((self.year-1) + ((self.year-1)//4) - ((self.year-1)//100) + ((self.year-1)//400) + self.day)%7
return W
# 创建 Date 类的对象 day1
day1 = Date(year, month, day)
# 输出结果
print("该日期是第{}天".format(day1.dayinyear()))
print("星期{}".format(day1.dayinweek()))
```
示例输入:
```
2022 10 1
```
示例输出:
```
该日期是第274天
星期六
```
阅读全文