題目受版權保護,不可轉載,參見上述鏈接
input
2019-03-21
2019-01-01
output
輸入日期: 2019-03-21
上週一: 2019-03-11
本週一: 2019-03-18
下週一: 2019-03-25
輸入日期: 2019-01-01
上週一: 2018-12-24
本週一: 2018-12-31
下週一: 2019-01-07
My Code
import sys
import datetime
import calendar
def last_monday(date_str):
today = date_str.split("-")
todayweekday = calendar.weekday(int(today[0]), int(today[1]), int(today[2]))
d = datetime.datetime.strptime(date_str, "%Y-%m-%d")
return (d + datetime.timedelta(days = -todayweekday - 7)).strftime("%Y-%m-%d")
def this_monday(date_str):
today = date_str.split("-")
todayweekday = calendar.weekday(int(today[0]), int(today[1]), int(today[2]))
d = datetime.datetime.strptime(date_str, "%Y-%m-%d")
return (d + datetime.timedelta(days = -todayweekday)).strftime("%Y-%m-%d")
def next_monday(date_str):
today = date_str.split("-")
todayweekday = calendar.weekday(int(today[0]), int(today[1]), int(today[2]))
d = datetime.datetime.strptime(date_str, "%Y-%m-%d")
return (d + datetime.timedelta(days = 7 - todayweekday )).strftime("%Y-%m-%d")
while True:
line = sys.stdin.readline()
line = line.strip()
if line == '':
break
print('輸入日期:', line)
print('上週一:', last_monday(line))
print('本週一:', this_monday(line))
print('下週一:', next_monday(line))