我寫了下面的代碼的條件計:更新日期,如果如果匹配
daysInMonths = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
startDate = {'day': 1, 'month': 1, 'year': 1901, 'dayOfTheWeek': 3}
endDate = {'day': 31, 'month': 12, 'year': 2000, 'dayOfTheWeek': 1}
counter = 0
def update_date():
startDate['day'] += 1
startDate['dayOfTheWeek'] += 1
if startDate['dayOfTheWeek'] > 7:
startDate['dayOfTheWeek'] = 1
if startDate['day'] > daysInMonths[startDate['month'] - 1]:
startDate['day'] = 1
startDate['month'] += 1
if startDate['month'] > 12:
startDate['month'] = 1
startDate['year'] += 1
if startDate['year'] % 4 == 0 and not startDate['year'] % 100 == 0:
daysInMonths[2] = 29
def compare():
if startDate['day'] != endDate['day']:
return True
if startDate['month'] != endDate['month']:
return True
if startDate['year'] != endDate['year']:
return True
return False
while compare():
if startDate['day'] == startDate['dayOfTheWeek'] == 1:
counter += 1
print(counter)
print(startDate)
update_date()
所以我想在今天是星期天在每月的第一天來算,但我得到一個壞的結果(173),我的代碼出錯了嗎?
善良你的代碼需要'datetime'和'calendar'庫! –
當你簡單地執行'startDate!= endDate'時,你爲什麼需要'compare()'? – DyZ
因爲它沒有工作 –