3.定义一个日期的的类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行为输出。格式不同算错: 【运行效果1】 2023,1,15 15 星期天 【运行效果2】 2022,11,8 312 星期二
时间: 2024-02-15 14:05:27 浏览: 115
下面是 Python 代码实现:
```python
class Date:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
def dayinyear(self):
days = [31,28,31,30,31,30,31,31,30,31,30,31]
if (self.year%4==0 and self.year%100!=0) or (self.year%400==0):
days[1] = 29
return sum(days[:self.month-1])+self.day
def dayinweek(self):
Y = self.year
D = self.dayinyear()
if self.month == 1 or self.month == 2:
Y -= 1
D += 31*(self.month-1)
if self.year%4==0 and self.year%100!=0:
D += 1
else:
D += 31*(self.month-1) - (self.month-3)//2 - 1
if self.year%4==0 and self.year%100!=0:
D += 1 + (self.month>2)
W = (Y + Y//4 - Y//100 + Y//400 + D) % 7
return W
info = input().split(',')
year = int(info[0])
month = int(info[1])
day = int(info[2])
day1 = Date(year, month, day)
print(day1.dayinyear())
print("星期" + "日一二三四五六"[day1.dayinweek()])
```
输入格式:
- 一行,包括三个用逗号分隔的整数,分别表示年、月和日。
输出格式:
- 第一行为一个整数,表示该日期是该年的第几天。
- 第二行为一个字符串,表示该日期是星期几。
阅读全文